1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|* Assembly Writer Source Fragment                                            *|
4|*                                                                            *|
5|* Automatically generated file, do not edit!                                 *|
6|*                                                                            *|
7\*===----------------------------------------------------------------------===*/
8
9/// printInstruction - This method is automatically generated by tablegen
10/// from the instruction set description.
11void AArch64InstPrinter::printInstruction(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O) {
12  static const char AsmStrs[] = {
13  /* 0 */ 's', 'h', 'a', '1', 's', 'u', '0', 9, 0,
14  /* 9 */ 's', 'h', 'a', '5', '1', '2', 's', 'u', '0', 9, 0,
15  /* 20 */ 's', 'h', 'a', '2', '5', '6', 's', 'u', '0', 9, 0,
16  /* 31 */ 'l', 'd', '1', 9, 0,
17  /* 36 */ 't', 'r', 'n', '1', 9, 0,
18  /* 42 */ 'z', 'i', 'p', '1', 9, 0,
19  /* 48 */ 'u', 'z', 'p', '1', 9, 0,
20  /* 54 */ 'd', 'c', 'p', 's', '1', 9, 0,
21  /* 61 */ 's', 'm', '3', 's', 's', '1', 9, 0,
22  /* 69 */ 's', 't', '1', 9, 0,
23  /* 74 */ 's', 'h', 'a', '1', 's', 'u', '1', 9, 0,
24  /* 83 */ 's', 'h', 'a', '5', '1', '2', 's', 'u', '1', 9, 0,
25  /* 94 */ 's', 'h', 'a', '2', '5', '6', 's', 'u', '1', 9, 0,
26  /* 105 */ 's', 'm', '3', 'p', 'a', 'r', 't', 'w', '1', 9, 0,
27  /* 116 */ 'r', 'a', 'x', '1', 9, 0,
28  /* 122 */ 'r', 'e', 'v', '3', '2', 9, 0,
29  /* 129 */ 'l', 'd', '2', 9, 0,
30  /* 134 */ 's', 'h', 'a', '5', '1', '2', 'h', '2', 9, 0,
31  /* 144 */ 's', 'h', 'a', '2', '5', '6', 'h', '2', 9, 0,
32  /* 154 */ 's', 'a', 'b', 'a', 'l', '2', 9, 0,
33  /* 162 */ 'u', 'a', 'b', 'a', 'l', '2', 9, 0,
34  /* 170 */ 's', 'q', 'd', 'm', 'l', 'a', 'l', '2', 9, 0,
35  /* 180 */ 's', 'm', 'l', 'a', 'l', '2', 9, 0,
36  /* 188 */ 'u', 'm', 'l', 'a', 'l', '2', 9, 0,
37  /* 196 */ 's', 's', 'u', 'b', 'l', '2', 9, 0,
38  /* 204 */ 'u', 's', 'u', 'b', 'l', '2', 9, 0,
39  /* 212 */ 's', 'a', 'b', 'd', 'l', '2', 9, 0,
40  /* 220 */ 'u', 'a', 'b', 'd', 'l', '2', 9, 0,
41  /* 228 */ 's', 'a', 'd', 'd', 'l', '2', 9, 0,
42  /* 236 */ 'u', 'a', 'd', 'd', 'l', '2', 9, 0,
43  /* 244 */ 's', 's', 'h', 'l', 'l', '2', 9, 0,
44  /* 252 */ 'u', 's', 'h', 'l', 'l', '2', 9, 0,
45  /* 260 */ 's', 'q', 'd', 'm', 'u', 'l', 'l', '2', 9, 0,
46  /* 270 */ 'p', 'm', 'u', 'l', 'l', '2', 9, 0,
47  /* 278 */ 's', 'm', 'u', 'l', 'l', '2', 9, 0,
48  /* 286 */ 'u', 'm', 'u', 'l', 'l', '2', 9, 0,
49  /* 294 */ 's', 'q', 'd', 'm', 'l', 's', 'l', '2', 9, 0,
50  /* 304 */ 's', 'm', 'l', 's', 'l', '2', 9, 0,
51  /* 312 */ 'u', 'm', 'l', 's', 'l', '2', 9, 0,
52  /* 320 */ 'f', 'c', 'v', 't', 'l', '2', 9, 0,
53  /* 328 */ 'r', 's', 'u', 'b', 'h', 'n', '2', 9, 0,
54  /* 337 */ 'r', 'a', 'd', 'd', 'h', 'n', '2', 9, 0,
55  /* 346 */ 's', 'q', 's', 'h', 'r', 'n', '2', 9, 0,
56  /* 355 */ 'u', 'q', 's', 'h', 'r', 'n', '2', 9, 0,
57  /* 364 */ 's', 'q', 'r', 's', 'h', 'r', 'n', '2', 9, 0,
58  /* 374 */ 'u', 'q', 'r', 's', 'h', 'r', 'n', '2', 9, 0,
59  /* 384 */ 't', 'r', 'n', '2', 9, 0,
60  /* 390 */ 'f', 'c', 'v', 't', 'n', '2', 9, 0,
61  /* 398 */ 's', 'q', 'x', 't', 'n', '2', 9, 0,
62  /* 406 */ 'u', 'q', 'x', 't', 'n', '2', 9, 0,
63  /* 414 */ 's', 'q', 's', 'h', 'r', 'u', 'n', '2', 9, 0,
64  /* 424 */ 's', 'q', 'r', 's', 'h', 'r', 'u', 'n', '2', 9, 0,
65  /* 435 */ 's', 'q', 'x', 't', 'u', 'n', '2', 9, 0,
66  /* 444 */ 'f', 'c', 'v', 't', 'x', 'n', '2', 9, 0,
67  /* 453 */ 'z', 'i', 'p', '2', 9, 0,
68  /* 459 */ 'u', 'z', 'p', '2', 9, 0,
69  /* 465 */ 'd', 'c', 'p', 's', '2', 9, 0,
70  /* 472 */ 's', 't', '2', 9, 0,
71  /* 477 */ 's', 's', 'u', 'b', 'w', '2', 9, 0,
72  /* 485 */ 'u', 's', 'u', 'b', 'w', '2', 9, 0,
73  /* 493 */ 's', 'a', 'd', 'd', 'w', '2', 9, 0,
74  /* 501 */ 'u', 'a', 'd', 'd', 'w', '2', 9, 0,
75  /* 509 */ 's', 'm', '3', 'p', 'a', 'r', 't', 'w', '2', 9, 0,
76  /* 520 */ 'l', 'd', '3', 9, 0,
77  /* 525 */ 'e', 'o', 'r', '3', 9, 0,
78  /* 531 */ 'd', 'c', 'p', 's', '3', 9, 0,
79  /* 538 */ 's', 't', '3', 9, 0,
80  /* 543 */ 'r', 'e', 'v', '6', '4', 9, 0,
81  /* 550 */ 'l', 'd', '4', 9, 0,
82  /* 555 */ 's', 't', '4', 9, 0,
83  /* 560 */ 's', 'e', 't', 'f', '1', '6', 9, 0,
84  /* 568 */ 'r', 'e', 'v', '1', '6', 9, 0,
85  /* 575 */ 's', 'e', 't', 'f', '8', 9, 0,
86  /* 582 */ 's', 'm', '3', 't', 't', '1', 'a', 9, 0,
87  /* 591 */ 's', 'm', '3', 't', 't', '2', 'a', 9, 0,
88  /* 600 */ 'b', 'r', 'a', 'a', 9, 0,
89  /* 606 */ 'l', 'd', 'r', 'a', 'a', 9, 0,
90  /* 613 */ 'b', 'l', 'r', 'a', 'a', 9, 0,
91  /* 620 */ 's', 'a', 'b', 'a', 9, 0,
92  /* 626 */ 'u', 'a', 'b', 'a', 9, 0,
93  /* 632 */ 'p', 'a', 'c', 'd', 'a', 9, 0,
94  /* 639 */ 'l', 'd', 'a', 'd', 'd', 'a', 9, 0,
95  /* 647 */ 'f', 'a', 'd', 'd', 'a', 9, 0,
96  /* 654 */ 'a', 'u', 't', 'd', 'a', 9, 0,
97  /* 661 */ 'p', 'a', 'c', 'g', 'a', 9, 0,
98  /* 668 */ 'p', 'a', 'c', 'i', 'a', 9, 0,
99  /* 675 */ 'a', 'u', 't', 'i', 'a', 9, 0,
100  /* 682 */ 'b', 'r', 'k', 'a', 9, 0,
101  /* 688 */ 'f', 'c', 'm', 'l', 'a', 9, 0,
102  /* 695 */ 'f', 'm', 'l', 'a', 9, 0,
103  /* 701 */ 'f', 'n', 'm', 'l', 'a', 9, 0,
104  /* 708 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 9, 0,
105  /* 717 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 9, 0,
106  /* 726 */ 'b', 'r', 'k', 'p', 'a', 9, 0,
107  /* 733 */ 'c', 'a', 's', 'p', 'a', 9, 0,
108  /* 740 */ 's', 'w', 'p', 'a', 9, 0,
109  /* 746 */ 'f', 'e', 'x', 'p', 'a', 9, 0,
110  /* 753 */ 'l', 'd', 'c', 'l', 'r', 'a', 9, 0,
111  /* 761 */ 'l', 'd', 'e', 'o', 'r', 'a', 9, 0,
112  /* 769 */ 's', 'r', 's', 'r', 'a', 9, 0,
113  /* 776 */ 'u', 'r', 's', 'r', 'a', 9, 0,
114  /* 783 */ 's', 's', 'r', 'a', 9, 0,
115  /* 789 */ 'u', 's', 'r', 'a', 9, 0,
116  /* 795 */ 'c', 'a', 's', 'a', 9, 0,
117  /* 801 */ 'l', 'd', 's', 'e', 't', 'a', 9, 0,
118  /* 809 */ 'f', 'r', 'i', 'n', 't', 'a', 9, 0,
119  /* 817 */ 'c', 'l', 'a', 's', 't', 'a', 9, 0,
120  /* 825 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 9, 0,
121  /* 834 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 9, 0,
122  /* 843 */ 'p', 'a', 'c', 'd', 'z', 'a', 9, 0,
123  /* 851 */ 'a', 'u', 't', 'd', 'z', 'a', 9, 0,
124  /* 859 */ 'p', 'a', 'c', 'i', 'z', 'a', 9, 0,
125  /* 867 */ 'a', 'u', 't', 'i', 'z', 'a', 9, 0,
126  /* 875 */ 'l', 'd', '1', 'b', 9, 0,
127  /* 881 */ 'l', 'd', 'f', 'f', '1', 'b', 9, 0,
128  /* 889 */ 'l', 'd', 'n', 'f', '1', 'b', 9, 0,
129  /* 897 */ 'l', 'd', 'n', 't', '1', 'b', 9, 0,
130  /* 905 */ 's', 't', 'n', 't', '1', 'b', 9, 0,
131  /* 913 */ 's', 't', '1', 'b', 9, 0,
132  /* 919 */ 's', 'm', '3', 't', 't', '1', 'b', 9, 0,
133  /* 928 */ 'c', 'r', 'c', '3', '2', 'b', 9, 0,
134  /* 936 */ 'l', 'd', '2', 'b', 9, 0,
135  /* 942 */ 's', 't', '2', 'b', 9, 0,
136  /* 948 */ 's', 'm', '3', 't', 't', '2', 'b', 9, 0,
137  /* 957 */ 'l', 'd', '3', 'b', 9, 0,
138  /* 963 */ 's', 't', '3', 'b', 9, 0,
139  /* 969 */ 'l', 'd', '4', 'b', 9, 0,
140  /* 975 */ 's', 't', '4', 'b', 9, 0,
141  /* 981 */ 'l', 'd', 'a', 'd', 'd', 'a', 'b', 9, 0,
142  /* 990 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'b', 9, 0,
143  /* 1000 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'b', 9, 0,
144  /* 1010 */ 's', 'w', 'p', 'a', 'b', 9, 0,
145  /* 1017 */ 'b', 'r', 'a', 'b', 9, 0,
146  /* 1023 */ 'l', 'd', 'r', 'a', 'b', 9, 0,
147  /* 1030 */ 'b', 'l', 'r', 'a', 'b', 9, 0,
148  /* 1037 */ 'l', 'd', 'c', 'l', 'r', 'a', 'b', 9, 0,
149  /* 1046 */ 'l', 'd', 'e', 'o', 'r', 'a', 'b', 9, 0,
150  /* 1055 */ 'c', 'a', 's', 'a', 'b', 9, 0,
151  /* 1062 */ 'l', 'd', 's', 'e', 't', 'a', 'b', 9, 0,
152  /* 1071 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'b', 9, 0,
153  /* 1081 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'b', 9, 0,
154  /* 1091 */ 'c', 'r', 'c', '3', '2', 'c', 'b', 9, 0,
155  /* 1100 */ 's', 'q', 'd', 'e', 'c', 'b', 9, 0,
156  /* 1108 */ 'u', 'q', 'd', 'e', 'c', 'b', 9, 0,
157  /* 1116 */ 's', 'q', 'i', 'n', 'c', 'b', 9, 0,
158  /* 1124 */ 'u', 'q', 'i', 'n', 'c', 'b', 9, 0,
159  /* 1132 */ 'p', 'a', 'c', 'd', 'b', 9, 0,
160  /* 1139 */ 'l', 'd', 'a', 'd', 'd', 'b', 9, 0,
161  /* 1147 */ 'a', 'u', 't', 'd', 'b', 9, 0,
162  /* 1154 */ 'p', 'r', 'f', 'b', 9, 0,
163  /* 1160 */ 'p', 'a', 'c', 'i', 'b', 9, 0,
164  /* 1167 */ 'a', 'u', 't', 'i', 'b', 9, 0,
165  /* 1174 */ 'b', 'r', 'k', 'b', 9, 0,
166  /* 1180 */ 'l', 'd', 'a', 'd', 'd', 'a', 'l', 'b', 9, 0,
167  /* 1190 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'l', 'b', 9, 0,
168  /* 1201 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'l', 'b', 9, 0,
169  /* 1212 */ 's', 'w', 'p', 'a', 'l', 'b', 9, 0,
170  /* 1220 */ 'l', 'd', 'c', 'l', 'r', 'a', 'l', 'b', 9, 0,
171  /* 1230 */ 'l', 'd', 'e', 'o', 'r', 'a', 'l', 'b', 9, 0,
172  /* 1240 */ 'c', 'a', 's', 'a', 'l', 'b', 9, 0,
173  /* 1248 */ 'l', 'd', 's', 'e', 't', 'a', 'l', 'b', 9, 0,
174  /* 1258 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'l', 'b', 9, 0,
175  /* 1269 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'l', 'b', 9, 0,
176  /* 1280 */ 'l', 'd', 'a', 'd', 'd', 'l', 'b', 9, 0,
177  /* 1289 */ 'l', 'd', 's', 'm', 'i', 'n', 'l', 'b', 9, 0,
178  /* 1299 */ 'l', 'd', 'u', 'm', 'i', 'n', 'l', 'b', 9, 0,
179  /* 1309 */ 's', 'w', 'p', 'l', 'b', 9, 0,
180  /* 1316 */ 'l', 'd', 'c', 'l', 'r', 'l', 'b', 9, 0,
181  /* 1325 */ 'l', 'd', 'e', 'o', 'r', 'l', 'b', 9, 0,
182  /* 1334 */ 'c', 'a', 's', 'l', 'b', 9, 0,
183  /* 1341 */ 'l', 'd', 's', 'e', 't', 'l', 'b', 9, 0,
184  /* 1350 */ 'l', 'd', 's', 'm', 'a', 'x', 'l', 'b', 9, 0,
185  /* 1360 */ 'l', 'd', 'u', 'm', 'a', 'x', 'l', 'b', 9, 0,
186  /* 1370 */ 'd', 'm', 'b', 9, 0,
187  /* 1375 */ 'l', 'd', 's', 'm', 'i', 'n', 'b', 9, 0,
188  /* 1384 */ 'l', 'd', 'u', 'm', 'i', 'n', 'b', 9, 0,
189  /* 1393 */ 'b', 'r', 'k', 'p', 'b', 9, 0,
190  /* 1400 */ 's', 'w', 'p', 'b', 9, 0,
191  /* 1406 */ 'l', 'd', '1', 'r', 'q', 'b', 9, 0,
192  /* 1414 */ 'l', 'd', '1', 'r', 'b', 9, 0,
193  /* 1421 */ 'l', 'd', 'a', 'r', 'b', 9, 0,
194  /* 1428 */ 'l', 'd', 'l', 'a', 'r', 'b', 9, 0,
195  /* 1436 */ 'l', 'd', 'r', 'b', 9, 0,
196  /* 1442 */ 'l', 'd', 'c', 'l', 'r', 'b', 9, 0,
197  /* 1450 */ 's', 't', 'l', 'l', 'r', 'b', 9, 0,
198  /* 1458 */ 's', 't', 'l', 'r', 'b', 9, 0,
199  /* 1465 */ 'l', 'd', 'e', 'o', 'r', 'b', 9, 0,
200  /* 1473 */ 'l', 'd', 'a', 'p', 'r', 'b', 9, 0,
201  /* 1481 */ 'l', 'd', 't', 'r', 'b', 9, 0,
202  /* 1488 */ 's', 't', 'r', 'b', 9, 0,
203  /* 1494 */ 's', 't', 't', 'r', 'b', 9, 0,
204  /* 1501 */ 'l', 'd', 'u', 'r', 'b', 9, 0,
205  /* 1508 */ 's', 't', 'l', 'u', 'r', 'b', 9, 0,
206  /* 1516 */ 'l', 'd', 'a', 'p', 'u', 'r', 'b', 9, 0,
207  /* 1525 */ 's', 't', 'u', 'r', 'b', 9, 0,
208  /* 1532 */ 'l', 'd', 'a', 'x', 'r', 'b', 9, 0,
209  /* 1540 */ 'l', 'd', 'x', 'r', 'b', 9, 0,
210  /* 1547 */ 's', 't', 'l', 'x', 'r', 'b', 9, 0,
211  /* 1555 */ 's', 't', 'x', 'r', 'b', 9, 0,
212  /* 1562 */ 'l', 'd', '1', 's', 'b', 9, 0,
213  /* 1569 */ 'l', 'd', 'f', 'f', '1', 's', 'b', 9, 0,
214  /* 1578 */ 'l', 'd', 'n', 'f', '1', 's', 'b', 9, 0,
215  /* 1587 */ 'c', 'a', 's', 'b', 9, 0,
216  /* 1593 */ 'd', 's', 'b', 9, 0,
217  /* 1598 */ 'i', 's', 'b', 9, 0,
218  /* 1603 */ 'f', 'm', 's', 'b', 9, 0,
219  /* 1609 */ 'f', 'n', 'm', 's', 'b', 9, 0,
220  /* 1616 */ 'l', 'd', '1', 'r', 's', 'b', 9, 0,
221  /* 1624 */ 'l', 'd', 'r', 's', 'b', 9, 0,
222  /* 1631 */ 'l', 'd', 't', 'r', 's', 'b', 9, 0,
223  /* 1639 */ 'l', 'd', 'u', 'r', 's', 'b', 9, 0,
224  /* 1647 */ 'l', 'd', 'a', 'p', 'u', 'r', 's', 'b', 9, 0,
225  /* 1657 */ 't', 's', 'b', 9, 0,
226  /* 1662 */ 'l', 'd', 's', 'e', 't', 'b', 9, 0,
227  /* 1670 */ 'c', 'n', 't', 'b', 9, 0,
228  /* 1676 */ 'c', 'l', 'a', 's', 't', 'b', 9, 0,
229  /* 1684 */ 's', 'x', 't', 'b', 9, 0,
230  /* 1690 */ 'u', 'x', 't', 'b', 9, 0,
231  /* 1696 */ 'f', 's', 'u', 'b', 9, 0,
232  /* 1702 */ 's', 'h', 's', 'u', 'b', 9, 0,
233  /* 1709 */ 'u', 'h', 's', 'u', 'b', 9, 0,
234  /* 1716 */ 'f', 'm', 's', 'u', 'b', 9, 0,
235  /* 1723 */ 'f', 'n', 'm', 's', 'u', 'b', 9, 0,
236  /* 1731 */ 's', 'q', 's', 'u', 'b', 9, 0,
237  /* 1738 */ 'u', 'q', 's', 'u', 'b', 9, 0,
238  /* 1745 */ 'r', 'e', 'v', 'b', 9, 0,
239  /* 1751 */ 'l', 'd', 's', 'm', 'a', 'x', 'b', 9, 0,
240  /* 1760 */ 'l', 'd', 'u', 'm', 'a', 'x', 'b', 9, 0,
241  /* 1769 */ 'p', 'a', 'c', 'd', 'z', 'b', 9, 0,
242  /* 1777 */ 'a', 'u', 't', 'd', 'z', 'b', 9, 0,
243  /* 1785 */ 'p', 'a', 'c', 'i', 'z', 'b', 9, 0,
244  /* 1793 */ 'a', 'u', 't', 'i', 'z', 'b', 9, 0,
245  /* 1801 */ 's', 'h', 'a', '1', 'c', 9, 0,
246  /* 1808 */ 's', 'b', 'c', 9, 0,
247  /* 1813 */ 'a', 'd', 'c', 9, 0,
248  /* 1818 */ 'b', 'i', 'c', 9, 0,
249  /* 1823 */ 'a', 'e', 's', 'i', 'm', 'c', 9, 0,
250  /* 1831 */ 'a', 'e', 's', 'm', 'c', 9, 0,
251  /* 1838 */ 'c', 's', 'i', 'n', 'c', 9, 0,
252  /* 1845 */ 'h', 'v', 'c', 9, 0,
253  /* 1850 */ 's', 'v', 'c', 9, 0,
254  /* 1855 */ 'l', 'd', '1', 'd', 9, 0,
255  /* 1861 */ 'l', 'd', 'f', 'f', '1', 'd', 9, 0,
256  /* 1869 */ 'l', 'd', 'n', 'f', '1', 'd', 9, 0,
257  /* 1877 */ 'l', 'd', 'n', 't', '1', 'd', 9, 0,
258  /* 1885 */ 's', 't', 'n', 't', '1', 'd', 9, 0,
259  /* 1893 */ 's', 't', '1', 'd', 9, 0,
260  /* 1899 */ 'l', 'd', '2', 'd', 9, 0,
261  /* 1905 */ 's', 't', '2', 'd', 9, 0,
262  /* 1911 */ 'l', 'd', '3', 'd', 9, 0,
263  /* 1917 */ 's', 't', '3', 'd', 9, 0,
264  /* 1923 */ 'l', 'd', '4', 'd', 9, 0,
265  /* 1929 */ 's', 't', '4', 'd', 9, 0,
266  /* 1935 */ 'f', 'm', 'a', 'd', 9, 0,
267  /* 1941 */ 'f', 'n', 'm', 'a', 'd', 9, 0,
268  /* 1948 */ 'f', 't', 'm', 'a', 'd', 9, 0,
269  /* 1955 */ 'f', 'a', 'b', 'd', 9, 0,
270  /* 1961 */ 's', 'a', 'b', 'd', 9, 0,
271  /* 1967 */ 'u', 'a', 'b', 'd', 9, 0,
272  /* 1973 */ 'x', 'p', 'a', 'c', 'd', 9, 0,
273  /* 1980 */ 's', 'q', 'd', 'e', 'c', 'd', 9, 0,
274  /* 1988 */ 'u', 'q', 'd', 'e', 'c', 'd', 9, 0,
275  /* 1996 */ 's', 'q', 'i', 'n', 'c', 'd', 9, 0,
276  /* 2004 */ 'u', 'q', 'i', 'n', 'c', 'd', 9, 0,
277  /* 2012 */ 'f', 'c', 'a', 'd', 'd', 9, 0,
278  /* 2019 */ 'l', 'd', 'a', 'd', 'd', 9, 0,
279  /* 2026 */ 'f', 'a', 'd', 'd', 9, 0,
280  /* 2032 */ 's', 'r', 'h', 'a', 'd', 'd', 9, 0,
281  /* 2040 */ 'u', 'r', 'h', 'a', 'd', 'd', 9, 0,
282  /* 2048 */ 's', 'h', 'a', 'd', 'd', 9, 0,
283  /* 2055 */ 'u', 'h', 'a', 'd', 'd', 9, 0,
284  /* 2062 */ 'f', 'm', 'a', 'd', 'd', 9, 0,
285  /* 2069 */ 'f', 'n', 'm', 'a', 'd', 'd', 9, 0,
286  /* 2077 */ 'u', 's', 'q', 'a', 'd', 'd', 9, 0,
287  /* 2085 */ 's', 'u', 'q', 'a', 'd', 'd', 9, 0,
288  /* 2093 */ 'p', 'r', 'f', 'd', 9, 0,
289  /* 2099 */ 'n', 'a', 'n', 'd', 9, 0,
290  /* 2105 */ 'l', 'd', '1', 'r', 'q', 'd', 9, 0,
291  /* 2113 */ 'l', 'd', '1', 'r', 'd', 9, 0,
292  /* 2120 */ 'a', 's', 'r', 'd', 9, 0,
293  /* 2126 */ 'a', 'e', 's', 'd', 9, 0,
294  /* 2132 */ 'c', 'n', 't', 'd', 9, 0,
295  /* 2138 */ 's', 'm', '4', 'e', 9, 0,
296  /* 2144 */ 's', 'p', 'l', 'i', 'c', 'e', 9, 0,
297  /* 2152 */ 'f', 'a', 'c', 'g', 'e', 9, 0,
298  /* 2159 */ 'f', 'c', 'm', 'g', 'e', 9, 0,
299  /* 2166 */ 'c', 'm', 'p', 'g', 'e', 9, 0,
300  /* 2173 */ 'f', 's', 'c', 'a', 'l', 'e', 9, 0,
301  /* 2181 */ 'w', 'h', 'i', 'l', 'e', 'l', 'e', 9, 0,
302  /* 2190 */ 'f', 'c', 'm', 'l', 'e', 9, 0,
303  /* 2197 */ 'c', 'm', 'p', 'l', 'e', 9, 0,
304  /* 2204 */ 'f', 'c', 'm', 'n', 'e', 9, 0,
305  /* 2211 */ 'c', 't', 'e', 'r', 'm', 'n', 'e', 9, 0,
306  /* 2220 */ 'c', 'm', 'p', 'n', 'e', 9, 0,
307  /* 2227 */ 'f', 'r', 'e', 'c', 'p', 'e', 9, 0,
308  /* 2235 */ 'u', 'r', 'e', 'c', 'p', 'e', 9, 0,
309  /* 2243 */ 'f', 'c', 'c', 'm', 'p', 'e', 9, 0,
310  /* 2251 */ 'f', 'c', 'm', 'p', 'e', 9, 0,
311  /* 2258 */ 'a', 'e', 's', 'e', 9, 0,
312  /* 2264 */ 'p', 'f', 'a', 'l', 's', 'e', 9, 0,
313  /* 2272 */ 'f', 'r', 's', 'q', 'r', 't', 'e', 9, 0,
314  /* 2281 */ 'u', 'r', 's', 'q', 'r', 't', 'e', 9, 0,
315  /* 2290 */ 'p', 't', 'r', 'u', 'e', 9, 0,
316  /* 2297 */ 'b', 'i', 'f', 9, 0,
317  /* 2302 */ 'r', 'm', 'i', 'f', 9, 0,
318  /* 2308 */ 's', 'c', 'v', 't', 'f', 9, 0,
319  /* 2315 */ 'u', 'c', 'v', 't', 'f', 9, 0,
320  /* 2322 */ 'f', 'n', 'e', 'g', 9, 0,
321  /* 2328 */ 's', 'q', 'n', 'e', 'g', 9, 0,
322  /* 2335 */ 'c', 's', 'n', 'e', 'g', 9, 0,
323  /* 2342 */ 's', 'h', 'a', '1', 'h', 9, 0,
324  /* 2349 */ 'l', 'd', '1', 'h', 9, 0,
325  /* 2355 */ 'l', 'd', 'f', 'f', '1', 'h', 9, 0,
326  /* 2363 */ 'l', 'd', 'n', 'f', '1', 'h', 9, 0,
327  /* 2371 */ 'l', 'd', 'n', 't', '1', 'h', 9, 0,
328  /* 2379 */ 's', 't', 'n', 't', '1', 'h', 9, 0,
329  /* 2387 */ 's', 't', '1', 'h', 9, 0,
330  /* 2393 */ 's', 'h', 'a', '5', '1', '2', 'h', 9, 0,
331  /* 2402 */ 'c', 'r', 'c', '3', '2', 'h', 9, 0,
332  /* 2410 */ 'l', 'd', '2', 'h', 9, 0,
333  /* 2416 */ 's', 't', '2', 'h', 9, 0,
334  /* 2422 */ 'l', 'd', '3', 'h', 9, 0,
335  /* 2428 */ 's', 't', '3', 'h', 9, 0,
336  /* 2434 */ 'l', 'd', '4', 'h', 9, 0,
337  /* 2440 */ 's', 't', '4', 'h', 9, 0,
338  /* 2446 */ 's', 'h', 'a', '2', '5', '6', 'h', 9, 0,
339  /* 2455 */ 'l', 'd', 'a', 'd', 'd', 'a', 'h', 9, 0,
340  /* 2464 */ 's', 'q', 'r', 'd', 'm', 'l', 'a', 'h', 9, 0,
341  /* 2474 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'h', 9, 0,
342  /* 2484 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'h', 9, 0,
343  /* 2494 */ 's', 'w', 'p', 'a', 'h', 9, 0,
344  /* 2501 */ 'l', 'd', 'c', 'l', 'r', 'a', 'h', 9, 0,
345  /* 2510 */ 'l', 'd', 'e', 'o', 'r', 'a', 'h', 9, 0,
346  /* 2519 */ 'c', 'a', 's', 'a', 'h', 9, 0,
347  /* 2526 */ 'l', 'd', 's', 'e', 't', 'a', 'h', 9, 0,
348  /* 2535 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'h', 9, 0,
349  /* 2545 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'h', 9, 0,
350  /* 2555 */ 'c', 'r', 'c', '3', '2', 'c', 'h', 9, 0,
351  /* 2564 */ 's', 'q', 'd', 'e', 'c', 'h', 9, 0,
352  /* 2572 */ 'u', 'q', 'd', 'e', 'c', 'h', 9, 0,
353  /* 2580 */ 's', 'q', 'i', 'n', 'c', 'h', 9, 0,
354  /* 2588 */ 'u', 'q', 'i', 'n', 'c', 'h', 9, 0,
355  /* 2596 */ 'l', 'd', 'a', 'd', 'd', 'h', 9, 0,
356  /* 2604 */ 'p', 'r', 'f', 'h', 9, 0,
357  /* 2610 */ 'l', 'd', 'a', 'd', 'd', 'a', 'l', 'h', 9, 0,
358  /* 2620 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'l', 'h', 9, 0,
359  /* 2631 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'l', 'h', 9, 0,
360  /* 2642 */ 's', 'w', 'p', 'a', 'l', 'h', 9, 0,
361  /* 2650 */ 'l', 'd', 'c', 'l', 'r', 'a', 'l', 'h', 9, 0,
362  /* 2660 */ 'l', 'd', 'e', 'o', 'r', 'a', 'l', 'h', 9, 0,
363  /* 2670 */ 'c', 'a', 's', 'a', 'l', 'h', 9, 0,
364  /* 2678 */ 'l', 'd', 's', 'e', 't', 'a', 'l', 'h', 9, 0,
365  /* 2688 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'l', 'h', 9, 0,
366  /* 2699 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'l', 'h', 9, 0,
367  /* 2710 */ 'l', 'd', 'a', 'd', 'd', 'l', 'h', 9, 0,
368  /* 2719 */ 'l', 'd', 's', 'm', 'i', 'n', 'l', 'h', 9, 0,
369  /* 2729 */ 'l', 'd', 'u', 'm', 'i', 'n', 'l', 'h', 9, 0,
370  /* 2739 */ 's', 'w', 'p', 'l', 'h', 9, 0,
371  /* 2746 */ 'l', 'd', 'c', 'l', 'r', 'l', 'h', 9, 0,
372  /* 2755 */ 'l', 'd', 'e', 'o', 'r', 'l', 'h', 9, 0,
373  /* 2764 */ 'c', 'a', 's', 'l', 'h', 9, 0,
374  /* 2771 */ 'l', 'd', 's', 'e', 't', 'l', 'h', 9, 0,
375  /* 2780 */ 's', 'q', 'd', 'm', 'u', 'l', 'h', 9, 0,
376  /* 2789 */ 's', 'q', 'r', 'd', 'm', 'u', 'l', 'h', 9, 0,
377  /* 2799 */ 's', 'm', 'u', 'l', 'h', 9, 0,
378  /* 2806 */ 'u', 'm', 'u', 'l', 'h', 9, 0,
379  /* 2813 */ 'l', 'd', 's', 'm', 'a', 'x', 'l', 'h', 9, 0,
380  /* 2823 */ 'l', 'd', 'u', 'm', 'a', 'x', 'l', 'h', 9, 0,
381  /* 2833 */ 'l', 'd', 's', 'm', 'i', 'n', 'h', 9, 0,
382  /* 2842 */ 'l', 'd', 'u', 'm', 'i', 'n', 'h', 9, 0,
383  /* 2851 */ 's', 'w', 'p', 'h', 9, 0,
384  /* 2857 */ 'l', 'd', '1', 'r', 'q', 'h', 9, 0,
385  /* 2865 */ 'l', 'd', '1', 'r', 'h', 9, 0,
386  /* 2872 */ 'l', 'd', 'a', 'r', 'h', 9, 0,
387  /* 2879 */ 'l', 'd', 'l', 'a', 'r', 'h', 9, 0,
388  /* 2887 */ 'l', 'd', 'r', 'h', 9, 0,
389  /* 2893 */ 'l', 'd', 'c', 'l', 'r', 'h', 9, 0,
390  /* 2901 */ 's', 't', 'l', 'l', 'r', 'h', 9, 0,
391  /* 2909 */ 's', 't', 'l', 'r', 'h', 9, 0,
392  /* 2916 */ 'l', 'd', 'e', 'o', 'r', 'h', 9, 0,
393  /* 2924 */ 'l', 'd', 'a', 'p', 'r', 'h', 9, 0,
394  /* 2932 */ 'l', 'd', 't', 'r', 'h', 9, 0,
395  /* 2939 */ 's', 't', 'r', 'h', 9, 0,
396  /* 2945 */ 's', 't', 't', 'r', 'h', 9, 0,
397  /* 2952 */ 'l', 'd', 'u', 'r', 'h', 9, 0,
398  /* 2959 */ 's', 't', 'l', 'u', 'r', 'h', 9, 0,
399  /* 2967 */ 'l', 'd', 'a', 'p', 'u', 'r', 'h', 9, 0,
400  /* 2976 */ 's', 't', 'u', 'r', 'h', 9, 0,
401  /* 2983 */ 'l', 'd', 'a', 'x', 'r', 'h', 9, 0,
402  /* 2991 */ 'l', 'd', 'x', 'r', 'h', 9, 0,
403  /* 2998 */ 's', 't', 'l', 'x', 'r', 'h', 9, 0,
404  /* 3006 */ 's', 't', 'x', 'r', 'h', 9, 0,
405  /* 3013 */ 'l', 'd', '1', 's', 'h', 9, 0,
406  /* 3020 */ 'l', 'd', 'f', 'f', '1', 's', 'h', 9, 0,
407  /* 3029 */ 'l', 'd', 'n', 'f', '1', 's', 'h', 9, 0,
408  /* 3038 */ 'c', 'a', 's', 'h', 9, 0,
409  /* 3044 */ 's', 'q', 'r', 'd', 'm', 'l', 's', 'h', 9, 0,
410  /* 3054 */ 'l', 'd', '1', 'r', 's', 'h', 9, 0,
411  /* 3062 */ 'l', 'd', 'r', 's', 'h', 9, 0,
412  /* 3069 */ 'l', 'd', 't', 'r', 's', 'h', 9, 0,
413  /* 3077 */ 'l', 'd', 'u', 'r', 's', 'h', 9, 0,
414  /* 3085 */ 'l', 'd', 'a', 'p', 'u', 'r', 's', 'h', 9, 0,
415  /* 3095 */ 'l', 'd', 's', 'e', 't', 'h', 9, 0,
416  /* 3103 */ 'c', 'n', 't', 'h', 9, 0,
417  /* 3109 */ 's', 'x', 't', 'h', 9, 0,
418  /* 3115 */ 'u', 'x', 't', 'h', 9, 0,
419  /* 3121 */ 'r', 'e', 'v', 'h', 9, 0,
420  /* 3127 */ 'l', 'd', 's', 'm', 'a', 'x', 'h', 9, 0,
421  /* 3136 */ 'l', 'd', 'u', 'm', 'a', 'x', 'h', 9, 0,
422  /* 3145 */ 'x', 'p', 'a', 'c', 'i', 9, 0,
423  /* 3152 */ 'p', 'u', 'n', 'p', 'k', 'h', 'i', 9, 0,
424  /* 3161 */ 's', 'u', 'n', 'p', 'k', 'h', 'i', 9, 0,
425  /* 3170 */ 'u', 'u', 'n', 'p', 'k', 'h', 'i', 9, 0,
426  /* 3179 */ 'c', 'm', 'h', 'i', 9, 0,
427  /* 3185 */ 'c', 'm', 'p', 'h', 'i', 9, 0,
428  /* 3192 */ 's', 'l', 'i', 9, 0,
429  /* 3197 */ 'm', 'v', 'n', 'i', 9, 0,
430  /* 3203 */ 's', 'r', 'i', 9, 0,
431  /* 3208 */ 'f', 'r', 'i', 'n', 't', 'i', 9, 0,
432  /* 3216 */ 'm', 'o', 'v', 'i', 9, 0,
433  /* 3222 */ 'b', 'r', 'k', 9, 0,
434  /* 3227 */ 'm', 'o', 'v', 'k', 9, 0,
435  /* 3233 */ 's', 'a', 'b', 'a', 'l', 9, 0,
436  /* 3240 */ 'u', 'a', 'b', 'a', 'l', 9, 0,
437  /* 3247 */ 'l', 'd', 'a', 'd', 'd', 'a', 'l', 9, 0,
438  /* 3256 */ 's', 'q', 'd', 'm', 'l', 'a', 'l', 9, 0,
439  /* 3265 */ 's', 'm', 'l', 'a', 'l', 9, 0,
440  /* 3272 */ 'u', 'm', 'l', 'a', 'l', 9, 0,
441  /* 3279 */ 'l', 'd', 's', 'm', 'i', 'n', 'a', 'l', 9, 0,
442  /* 3289 */ 'l', 'd', 'u', 'm', 'i', 'n', 'a', 'l', 9, 0,
443  /* 3299 */ 'c', 'a', 's', 'p', 'a', 'l', 9, 0,
444  /* 3307 */ 's', 'w', 'p', 'a', 'l', 9, 0,
445  /* 3314 */ 'l', 'd', 'c', 'l', 'r', 'a', 'l', 9, 0,
446  /* 3323 */ 'l', 'd', 'e', 'o', 'r', 'a', 'l', 9, 0,
447  /* 3332 */ 'c', 'a', 's', 'a', 'l', 9, 0,
448  /* 3339 */ 'l', 'd', 's', 'e', 't', 'a', 'l', 9, 0,
449  /* 3348 */ 'l', 'd', 's', 'm', 'a', 'x', 'a', 'l', 9, 0,
450  /* 3358 */ 'l', 'd', 'u', 'm', 'a', 'x', 'a', 'l', 9, 0,
451  /* 3368 */ 't', 'b', 'l', 9, 0,
452  /* 3373 */ 's', 'm', 's', 'u', 'b', 'l', 9, 0,
453  /* 3381 */ 'u', 'm', 's', 'u', 'b', 'l', 9, 0,
454  /* 3389 */ 's', 's', 'u', 'b', 'l', 9, 0,
455  /* 3396 */ 'u', 's', 'u', 'b', 'l', 9, 0,
456  /* 3403 */ 's', 'a', 'b', 'd', 'l', 9, 0,
457  /* 3410 */ 'u', 'a', 'b', 'd', 'l', 9, 0,
458  /* 3417 */ 'l', 'd', 'a', 'd', 'd', 'l', 9, 0,
459  /* 3425 */ 's', 'm', 'a', 'd', 'd', 'l', 9, 0,
460  /* 3433 */ 'u', 'm', 'a', 'd', 'd', 'l', 9, 0,
461  /* 3441 */ 's', 'a', 'd', 'd', 'l', 9, 0,
462  /* 3448 */ 'u', 'a', 'd', 'd', 'l', 9, 0,
463  /* 3455 */ 'f', 'c', 's', 'e', 'l', 9, 0,
464  /* 3462 */ 'f', 't', 's', 's', 'e', 'l', 9, 0,
465  /* 3470 */ 's', 'q', 's', 'h', 'l', 9, 0,
466  /* 3477 */ 'u', 'q', 's', 'h', 'l', 9, 0,
467  /* 3484 */ 's', 'q', 'r', 's', 'h', 'l', 9, 0,
468  /* 3492 */ 'u', 'q', 'r', 's', 'h', 'l', 9, 0,
469  /* 3500 */ 's', 'r', 's', 'h', 'l', 9, 0,
470  /* 3507 */ 'u', 'r', 's', 'h', 'l', 9, 0,
471  /* 3514 */ 's', 's', 'h', 'l', 9, 0,
472  /* 3520 */ 'u', 's', 'h', 'l', 9, 0,
473  /* 3526 */ 's', 's', 'h', 'l', 'l', 9, 0,
474  /* 3533 */ 'u', 's', 'h', 'l', 'l', 9, 0,
475  /* 3540 */ 's', 'q', 'd', 'm', 'u', 'l', 'l', 9, 0,
476  /* 3549 */ 'p', 'm', 'u', 'l', 'l', 9, 0,
477  /* 3556 */ 's', 'm', 'u', 'l', 'l', 9, 0,
478  /* 3563 */ 'u', 'm', 'u', 'l', 'l', 9, 0,
479  /* 3570 */ 'l', 'd', 's', 'm', 'i', 'n', 'l', 9, 0,
480  /* 3579 */ 'l', 'd', 'u', 'm', 'i', 'n', 'l', 9, 0,
481  /* 3588 */ 'a', 'd', 'd', 'p', 'l', 9, 0,
482  /* 3595 */ 'c', 'a', 's', 'p', 'l', 9, 0,
483  /* 3602 */ 's', 'w', 'p', 'l', 9, 0,
484  /* 3608 */ 'l', 'd', 'c', 'l', 'r', 'l', 9, 0,
485  /* 3616 */ 'l', 'd', 'e', 'o', 'r', 'l', 9, 0,
486  /* 3624 */ 'c', 'a', 's', 'l', 9, 0,
487  /* 3630 */ 'b', 's', 'l', 9, 0,
488  /* 3635 */ 's', 'q', 'd', 'm', 'l', 's', 'l', 9, 0,
489  /* 3644 */ 's', 'm', 'l', 's', 'l', 9, 0,
490  /* 3651 */ 'u', 'm', 'l', 's', 'l', 9, 0,
491  /* 3658 */ 's', 'y', 's', 'l', 9, 0,
492  /* 3664 */ 'l', 'd', 's', 'e', 't', 'l', 9, 0,
493  /* 3672 */ 'f', 'c', 'v', 't', 'l', 9, 0,
494  /* 3679 */ 'f', 'm', 'u', 'l', 9, 0,
495  /* 3685 */ 'f', 'n', 'm', 'u', 'l', 9, 0,
496  /* 3692 */ 'p', 'm', 'u', 'l', 9, 0,
497  /* 3698 */ 'f', 't', 's', 'm', 'u', 'l', 9, 0,
498  /* 3706 */ 'a', 'd', 'd', 'v', 'l', 9, 0,
499  /* 3713 */ 'r', 'd', 'v', 'l', 9, 0,
500  /* 3719 */ 'l', 'd', 's', 'm', 'a', 'x', 'l', 9, 0,
501  /* 3728 */ 'l', 'd', 'u', 'm', 'a', 'x', 'l', 9, 0,
502  /* 3737 */ 's', 'h', 'a', '1', 'm', 9, 0,
503  /* 3744 */ 's', 'b', 'f', 'm', 9, 0,
504  /* 3750 */ 'u', 'b', 'f', 'm', 9, 0,
505  /* 3756 */ 'p', 'r', 'f', 'm', 9, 0,
506  /* 3762 */ 'f', 'm', 'i', 'n', 'n', 'm', 9, 0,
507  /* 3770 */ 'f', 'm', 'a', 'x', 'n', 'm', 9, 0,
508  /* 3778 */ 'd', 'u', 'p', 'm', 9, 0,
509  /* 3784 */ 'f', 'r', 'i', 'n', 't', 'm', 9, 0,
510  /* 3792 */ 'p', 'r', 'f', 'u', 'm', 9, 0,
511  /* 3799 */ 'r', 's', 'u', 'b', 'h', 'n', 9, 0,
512  /* 3807 */ 'r', 'a', 'd', 'd', 'h', 'n', 9, 0,
513  /* 3815 */ 'f', 'm', 'i', 'n', 9, 0,
514  /* 3821 */ 'l', 'd', 's', 'm', 'i', 'n', 9, 0,
515  /* 3829 */ 'l', 'd', 'u', 'm', 'i', 'n', 9, 0,
516  /* 3837 */ 'b', 'r', 'k', 'n', 9, 0,
517  /* 3843 */ 'c', 'c', 'm', 'n', 9, 0,
518  /* 3849 */ 'e', 'o', 'n', 9, 0,
519  /* 3854 */ 's', 'q', 's', 'h', 'r', 'n', 9, 0,
520  /* 3862 */ 'u', 'q', 's', 'h', 'r', 'n', 9, 0,
521  /* 3870 */ 's', 'q', 'r', 's', 'h', 'r', 'n', 9, 0,
522  /* 3879 */ 'u', 'q', 'r', 's', 'h', 'r', 'n', 9, 0,
523  /* 3888 */ 'o', 'r', 'n', 9, 0,
524  /* 3893 */ 'f', 'r', 'i', 'n', 't', 'n', 9, 0,
525  /* 3901 */ 'f', 'c', 'v', 't', 'n', 9, 0,
526  /* 3908 */ 's', 'q', 'x', 't', 'n', 9, 0,
527  /* 3915 */ 'u', 'q', 'x', 't', 'n', 9, 0,
528  /* 3922 */ 's', 'q', 's', 'h', 'r', 'u', 'n', 9, 0,
529  /* 3931 */ 's', 'q', 'r', 's', 'h', 'r', 'u', 'n', 9, 0,
530  /* 3941 */ 's', 'q', 'x', 't', 'u', 'n', 9, 0,
531  /* 3949 */ 'm', 'o', 'v', 'n', 9, 0,
532  /* 3955 */ 'f', 'c', 'v', 't', 'x', 'n', 9, 0,
533  /* 3963 */ 'w', 'h', 'i', 'l', 'e', 'l', 'o', 9, 0,
534  /* 3972 */ 'p', 'u', 'n', 'p', 'k', 'l', 'o', 9, 0,
535  /* 3981 */ 's', 'u', 'n', 'p', 'k', 'l', 'o', 9, 0,
536  /* 3990 */ 'u', 'u', 'n', 'p', 'k', 'l', 'o', 9, 0,
537  /* 3999 */ 'c', 'm', 'p', 'l', 'o', 9, 0,
538  /* 4006 */ 'f', 'c', 'm', 'u', 'o', 9, 0,
539  /* 4013 */ 's', 'h', 'a', '1', 'p', 9, 0,
540  /* 4020 */ 's', 'q', 'd', 'e', 'c', 'p', 9, 0,
541  /* 4028 */ 'u', 'q', 'd', 'e', 'c', 'p', 9, 0,
542  /* 4036 */ 's', 'q', 'i', 'n', 'c', 'p', 9, 0,
543  /* 4044 */ 'u', 'q', 'i', 'n', 'c', 'p', 9, 0,
544  /* 4052 */ 'f', 'a', 'd', 'd', 'p', 9, 0,
545  /* 4059 */ 'l', 'd', 'p', 9, 0,
546  /* 4064 */ 's', 'a', 'd', 'a', 'l', 'p', 9, 0,
547  /* 4072 */ 'u', 'a', 'd', 'a', 'l', 'p', 9, 0,
548  /* 4080 */ 's', 'a', 'd', 'd', 'l', 'p', 9, 0,
549  /* 4088 */ 'u', 'a', 'd', 'd', 'l', 'p', 9, 0,
550  /* 4096 */ 'f', 'c', 'c', 'm', 'p', 9, 0,
551  /* 4103 */ 'f', 'c', 'm', 'p', 9, 0,
552  /* 4109 */ 'f', 'm', 'i', 'n', 'n', 'm', 'p', 9, 0,
553  /* 4118 */ 'f', 'm', 'a', 'x', 'n', 'm', 'p', 9, 0,
554  /* 4127 */ 'l', 'd', 'n', 'p', 9, 0,
555  /* 4133 */ 'f', 'm', 'i', 'n', 'p', 9, 0,
556  /* 4140 */ 's', 'm', 'i', 'n', 'p', 9, 0,
557  /* 4147 */ 'u', 'm', 'i', 'n', 'p', 9, 0,
558  /* 4154 */ 's', 't', 'n', 'p', 9, 0,
559  /* 4160 */ 'a', 'd', 'r', 'p', 9, 0,
560  /* 4166 */ 'c', 'a', 's', 'p', 9, 0,
561  /* 4172 */ 'c', 'n', 't', 'p', 9, 0,
562  /* 4178 */ 'f', 'r', 'i', 'n', 't', 'p', 9, 0,
563  /* 4186 */ 's', 't', 'p', 9, 0,
564  /* 4191 */ 'f', 'd', 'u', 'p', 9, 0,
565  /* 4197 */ 's', 'w', 'p', 9, 0,
566  /* 4202 */ 'l', 'd', 'a', 'x', 'p', 9, 0,
567  /* 4209 */ 'f', 'm', 'a', 'x', 'p', 9, 0,
568  /* 4216 */ 's', 'm', 'a', 'x', 'p', 9, 0,
569  /* 4223 */ 'u', 'm', 'a', 'x', 'p', 9, 0,
570  /* 4230 */ 'l', 'd', 'x', 'p', 9, 0,
571  /* 4236 */ 's', 't', 'l', 'x', 'p', 9, 0,
572  /* 4243 */ 's', 't', 'x', 'p', 9, 0,
573  /* 4249 */ 'f', 'c', 'm', 'e', 'q', 9, 0,
574  /* 4256 */ 'c', 't', 'e', 'r', 'm', 'e', 'q', 9, 0,
575  /* 4265 */ 'c', 'm', 'p', 'e', 'q', 9, 0,
576  /* 4272 */ 'l', 'd', '1', 'r', 9, 0,
577  /* 4278 */ 'l', 'd', '2', 'r', 9, 0,
578  /* 4284 */ 'l', 'd', '3', 'r', 9, 0,
579  /* 4290 */ 'l', 'd', '4', 'r', 9, 0,
580  /* 4296 */ 'l', 'd', 'a', 'r', 9, 0,
581  /* 4302 */ 'l', 'd', 'l', 'a', 'r', 9, 0,
582  /* 4309 */ 'x', 'a', 'r', 9, 0,
583  /* 4314 */ 'f', 's', 'u', 'b', 'r', 9, 0,
584  /* 4321 */ 'a', 'd', 'r', 9, 0,
585  /* 4326 */ 'l', 'd', 'r', 9, 0,
586  /* 4331 */ 'r', 'd', 'f', 'f', 'r', 9, 0,
587  /* 4338 */ 'w', 'r', 'f', 'f', 'r', 9, 0,
588  /* 4345 */ 's', 'r', 's', 'h', 'r', 9, 0,
589  /* 4352 */ 'u', 'r', 's', 'h', 'r', 9, 0,
590  /* 4359 */ 's', 's', 'h', 'r', 9, 0,
591  /* 4365 */ 'u', 's', 'h', 'r', 9, 0,
592  /* 4371 */ 'b', 'l', 'r', 9, 0,
593  /* 4376 */ 'l', 'd', 'c', 'l', 'r', 9, 0,
594  /* 4383 */ 's', 't', 'l', 'l', 'r', 9, 0,
595  /* 4390 */ 'l', 's', 'l', 'r', 9, 0,
596  /* 4396 */ 's', 't', 'l', 'r', 9, 0,
597  /* 4402 */ 'l', 'd', 'e', 'o', 'r', 9, 0,
598  /* 4409 */ 'n', 'o', 'r', 9, 0,
599  /* 4414 */ 'r', 'o', 'r', 9, 0,
600  /* 4419 */ 'l', 'd', 'a', 'p', 'r', 9, 0,
601  /* 4426 */ 'o', 'r', 'r', 9, 0,
602  /* 4431 */ 'a', 's', 'r', 'r', 9, 0,
603  /* 4437 */ 'l', 's', 'r', 'r', 9, 0,
604  /* 4443 */ 'a', 's', 'r', 9, 0,
605  /* 4448 */ 'l', 's', 'r', 9, 0,
606  /* 4453 */ 'm', 's', 'r', 9, 0,
607  /* 4458 */ 'i', 'n', 's', 'r', 9, 0,
608  /* 4464 */ 'l', 'd', 't', 'r', 9, 0,
609  /* 4470 */ 's', 't', 'r', 9, 0,
610  /* 4475 */ 's', 't', 't', 'r', 9, 0,
611  /* 4481 */ 'e', 'x', 't', 'r', 9, 0,
612  /* 4487 */ 'l', 'd', 'u', 'r', 9, 0,
613  /* 4493 */ 's', 't', 'l', 'u', 'r', 9, 0,
614  /* 4500 */ 'l', 'd', 'a', 'p', 'u', 'r', 9, 0,
615  /* 4508 */ 's', 't', 'u', 'r', 9, 0,
616  /* 4514 */ 'f', 'd', 'i', 'v', 'r', 9, 0,
617  /* 4521 */ 's', 'd', 'i', 'v', 'r', 9, 0,
618  /* 4528 */ 'u', 'd', 'i', 'v', 'r', 9, 0,
619  /* 4535 */ 'l', 'd', 'a', 'x', 'r', 9, 0,
620  /* 4542 */ 'l', 'd', 'x', 'r', 9, 0,
621  /* 4548 */ 's', 't', 'l', 'x', 'r', 9, 0,
622  /* 4555 */ 's', 't', 'x', 'r', 9, 0,
623  /* 4561 */ 'c', 'a', 's', 9, 0,
624  /* 4566 */ 'b', 'r', 'k', 'a', 's', 9, 0,
625  /* 4573 */ 'b', 'r', 'k', 'p', 'a', 's', 9, 0,
626  /* 4581 */ 'f', 'c', 'v', 't', 'a', 's', 9, 0,
627  /* 4589 */ 'f', 'a', 'b', 's', 9, 0,
628  /* 4595 */ 's', 'q', 'a', 'b', 's', 9, 0,
629  /* 4602 */ 'b', 'r', 'k', 'b', 's', 9, 0,
630  /* 4609 */ 'b', 'r', 'k', 'p', 'b', 's', 9, 0,
631  /* 4617 */ 's', 'u', 'b', 's', 9, 0,
632  /* 4623 */ 's', 'b', 'c', 's', 9, 0,
633  /* 4629 */ 'a', 'd', 'c', 's', 9, 0,
634  /* 4635 */ 'b', 'i', 'c', 's', 9, 0,
635  /* 4641 */ 'a', 'd', 'd', 's', 9, 0,
636  /* 4647 */ 'n', 'a', 'n', 'd', 's', 9, 0,
637  /* 4654 */ 'p', 't', 'r', 'u', 'e', 's', 9, 0,
638  /* 4662 */ 'c', 'm', 'h', 's', 9, 0,
639  /* 4668 */ 'c', 'm', 'p', 'h', 's', 9, 0,
640  /* 4675 */ 'c', 'l', 's', 9, 0,
641  /* 4680 */ 'w', 'h', 'i', 'l', 'e', 'l', 's', 9, 0,
642  /* 4689 */ 'f', 'm', 'l', 's', 9, 0,
643  /* 4695 */ 'f', 'n', 'm', 'l', 's', 9, 0,
644  /* 4702 */ 'c', 'm', 'p', 'l', 's', 9, 0,
645  /* 4709 */ 'f', 'c', 'v', 't', 'm', 's', 9, 0,
646  /* 4717 */ 'i', 'n', 's', 9, 0,
647  /* 4722 */ 'b', 'r', 'k', 'n', 's', 9, 0,
648  /* 4729 */ 'o', 'r', 'n', 's', 9, 0,
649  /* 4735 */ 'f', 'c', 'v', 't', 'n', 's', 9, 0,
650  /* 4743 */ 'f', 'r', 'e', 'c', 'p', 's', 9, 0,
651  /* 4751 */ 'f', 'c', 'v', 't', 'p', 's', 9, 0,
652  /* 4759 */ 'r', 'd', 'f', 'f', 'r', 's', 9, 0,
653  /* 4767 */ 'm', 'r', 's', 9, 0,
654  /* 4772 */ 'e', 'o', 'r', 's', 9, 0,
655  /* 4778 */ 'n', 'o', 'r', 's', 9, 0,
656  /* 4784 */ 'o', 'r', 'r', 's', 9, 0,
657  /* 4790 */ 'f', 'r', 's', 'q', 'r', 't', 's', 9, 0,
658  /* 4799 */ 's', 'y', 's', 9, 0,
659  /* 4804 */ 'f', 'c', 'v', 't', 'z', 's', 9, 0,
660  /* 4812 */ 'f', 'j', 'c', 'v', 't', 'z', 's', 9, 0,
661  /* 4821 */ 'c', 'o', 'm', 'p', 'a', 'c', 't', 9, 0,
662  /* 4830 */ 'r', 'e', 't', 9, 0,
663  /* 4835 */ 'l', 'd', 's', 'e', 't', 9, 0,
664  /* 4842 */ 'f', 'a', 'c', 'g', 't', 9, 0,
665  /* 4849 */ 'f', 'c', 'm', 'g', 't', 9, 0,
666  /* 4856 */ 'c', 'm', 'p', 'g', 't', 9, 0,
667  /* 4863 */ 'r', 'b', 'i', 't', 9, 0,
668  /* 4869 */ 'w', 'h', 'i', 'l', 'e', 'l', 't', 9, 0,
669  /* 4878 */ 'h', 'l', 't', 9, 0,
670  /* 4883 */ 'f', 'c', 'm', 'l', 't', 9, 0,
671  /* 4890 */ 'c', 'm', 'p', 'l', 't', 9, 0,
672  /* 4897 */ 'c', 'n', 't', 9, 0,
673  /* 4902 */ 'h', 'i', 'n', 't', 9, 0,
674  /* 4908 */ 's', 'd', 'o', 't', 9, 0,
675  /* 4914 */ 'u', 'd', 'o', 't', 9, 0,
676  /* 4920 */ 'c', 'n', 'o', 't', 9, 0,
677  /* 4926 */ 'f', 's', 'q', 'r', 't', 9, 0,
678  /* 4933 */ 'p', 't', 'e', 's', 't', 9, 0,
679  /* 4940 */ 'p', 'f', 'i', 'r', 's', 't', 9, 0,
680  /* 4948 */ 'c', 'm', 't', 's', 't', 9, 0,
681  /* 4955 */ 'f', 'c', 'v', 't', 9, 0,
682  /* 4961 */ 'p', 'n', 'e', 'x', 't', 9, 0,
683  /* 4968 */ 'f', 'c', 'v', 't', 'a', 'u', 9, 0,
684  /* 4976 */ 's', 'q', 's', 'h', 'l', 'u', 9, 0,
685  /* 4984 */ 'f', 'c', 'v', 't', 'm', 'u', 9, 0,
686  /* 4992 */ 'f', 'c', 'v', 't', 'n', 'u', 9, 0,
687  /* 5000 */ 'f', 'c', 'v', 't', 'p', 'u', 9, 0,
688  /* 5008 */ 'f', 'c', 'v', 't', 'z', 'u', 9, 0,
689  /* 5016 */ 'f', 'a', 'd', 'd', 'v', 9, 0,
690  /* 5023 */ 's', 'a', 'd', 'd', 'v', 9, 0,
691  /* 5030 */ 'u', 'a', 'd', 'd', 'v', 9, 0,
692  /* 5037 */ 'a', 'n', 'd', 'v', 9, 0,
693  /* 5043 */ 'r', 'e', 'v', 9, 0,
694  /* 5048 */ 'f', 'd', 'i', 'v', 9, 0,
695  /* 5054 */ 's', 'd', 'i', 'v', 9, 0,
696  /* 5060 */ 'u', 'd', 'i', 'v', 9, 0,
697  /* 5066 */ 's', 'a', 'd', 'd', 'l', 'v', 9, 0,
698  /* 5074 */ 'u', 'a', 'd', 'd', 'l', 'v', 9, 0,
699  /* 5082 */ 'f', 'm', 'i', 'n', 'n', 'm', 'v', 9, 0,
700  /* 5091 */ 'f', 'm', 'a', 'x', 'n', 'm', 'v', 9, 0,
701  /* 5100 */ 'f', 'm', 'i', 'n', 'v', 9, 0,
702  /* 5107 */ 's', 'm', 'i', 'n', 'v', 9, 0,
703  /* 5114 */ 'u', 'm', 'i', 'n', 'v', 9, 0,
704  /* 5121 */ 'c', 's', 'i', 'n', 'v', 9, 0,
705  /* 5128 */ 'f', 'm', 'o', 'v', 9, 0,
706  /* 5134 */ 's', 'm', 'o', 'v', 9, 0,
707  /* 5140 */ 'u', 'm', 'o', 'v', 9, 0,
708  /* 5146 */ 'e', 'o', 'r', 'v', 9, 0,
709  /* 5152 */ 'f', 'm', 'a', 'x', 'v', 9, 0,
710  /* 5159 */ 's', 'm', 'a', 'x', 'v', 9, 0,
711  /* 5166 */ 'u', 'm', 'a', 'x', 'v', 9, 0,
712  /* 5173 */ 'l', 'd', '1', 'w', 9, 0,
713  /* 5179 */ 'l', 'd', 'f', 'f', '1', 'w', 9, 0,
714  /* 5187 */ 'l', 'd', 'n', 'f', '1', 'w', 9, 0,
715  /* 5195 */ 'l', 'd', 'n', 't', '1', 'w', 9, 0,
716  /* 5203 */ 's', 't', 'n', 't', '1', 'w', 9, 0,
717  /* 5211 */ 's', 't', '1', 'w', 9, 0,
718  /* 5217 */ 'c', 'r', 'c', '3', '2', 'w', 9, 0,
719  /* 5225 */ 'l', 'd', '2', 'w', 9, 0,
720  /* 5231 */ 's', 't', '2', 'w', 9, 0,
721  /* 5237 */ 'l', 'd', '3', 'w', 9, 0,
722  /* 5243 */ 's', 't', '3', 'w', 9, 0,
723  /* 5249 */ 'l', 'd', '4', 'w', 9, 0,
724  /* 5255 */ 's', 't', '4', 'w', 9, 0,
725  /* 5261 */ 's', 's', 'u', 'b', 'w', 9, 0,
726  /* 5268 */ 'u', 's', 'u', 'b', 'w', 9, 0,
727  /* 5275 */ 'c', 'r', 'c', '3', '2', 'c', 'w', 9, 0,
728  /* 5284 */ 's', 'q', 'd', 'e', 'c', 'w', 9, 0,
729  /* 5292 */ 'u', 'q', 'd', 'e', 'c', 'w', 9, 0,
730  /* 5300 */ 's', 'q', 'i', 'n', 'c', 'w', 9, 0,
731  /* 5308 */ 'u', 'q', 'i', 'n', 'c', 'w', 9, 0,
732  /* 5316 */ 's', 'a', 'd', 'd', 'w', 9, 0,
733  /* 5323 */ 'u', 'a', 'd', 'd', 'w', 9, 0,
734  /* 5330 */ 'p', 'r', 'f', 'w', 9, 0,
735  /* 5336 */ 'l', 'd', '1', 'r', 'q', 'w', 9, 0,
736  /* 5344 */ 'l', 'd', '1', 'r', 'w', 9, 0,
737  /* 5351 */ 'l', 'd', '1', 's', 'w', 9, 0,
738  /* 5358 */ 'l', 'd', 'f', 'f', '1', 's', 'w', 9, 0,
739  /* 5367 */ 'l', 'd', 'n', 'f', '1', 's', 'w', 9, 0,
740  /* 5376 */ 'l', 'd', 'p', 's', 'w', 9, 0,
741  /* 5383 */ 'l', 'd', '1', 'r', 's', 'w', 9, 0,
742  /* 5391 */ 'l', 'd', 'r', 's', 'w', 9, 0,
743  /* 5398 */ 'l', 'd', 't', 'r', 's', 'w', 9, 0,
744  /* 5406 */ 'l', 'd', 'u', 'r', 's', 'w', 9, 0,
745  /* 5414 */ 'l', 'd', 'a', 'p', 'u', 'r', 's', 'w', 9, 0,
746  /* 5424 */ 'c', 'n', 't', 'w', 9, 0,
747  /* 5430 */ 's', 'x', 't', 'w', 9, 0,
748  /* 5436 */ 'u', 'x', 't', 'w', 9, 0,
749  /* 5442 */ 'r', 'e', 'v', 'w', 9, 0,
750  /* 5448 */ 'c', 'r', 'c', '3', '2', 'x', 9, 0,
751  /* 5456 */ 'b', 'c', 'a', 'x', 9, 0,
752  /* 5462 */ 'f', 'm', 'a', 'x', 9, 0,
753  /* 5468 */ 'l', 'd', 's', 'm', 'a', 'x', 9, 0,
754  /* 5476 */ 'l', 'd', 'u', 'm', 'a', 'x', 9, 0,
755  /* 5484 */ 't', 'b', 'x', 9, 0,
756  /* 5489 */ 'c', 'r', 'c', '3', '2', 'c', 'x', 9, 0,
757  /* 5498 */ 'i', 'n', 'd', 'e', 'x', 9, 0,
758  /* 5505 */ 'c', 'l', 'r', 'e', 'x', 9, 0,
759  /* 5512 */ 'm', 'o', 'v', 'p', 'r', 'f', 'x', 9, 0,
760  /* 5521 */ 'f', 'm', 'u', 'l', 'x', 9, 0,
761  /* 5528 */ 'f', 'r', 'e', 'c', 'p', 'x', 9, 0,
762  /* 5536 */ 'f', 'r', 'i', 'n', 't', 'x', 9, 0,
763  /* 5544 */ 's', 'm', '4', 'e', 'k', 'e', 'y', 9, 0,
764  /* 5553 */ 'f', 'c', 'p', 'y', 9, 0,
765  /* 5559 */ 'b', 'r', 'a', 'a', 'z', 9, 0,
766  /* 5566 */ 'b', 'l', 'r', 'a', 'a', 'z', 9, 0,
767  /* 5574 */ 'b', 'r', 'a', 'b', 'z', 9, 0,
768  /* 5581 */ 'b', 'l', 'r', 'a', 'b', 'z', 9, 0,
769  /* 5589 */ 'c', 'b', 'z', 9, 0,
770  /* 5594 */ 't', 'b', 'z', 9, 0,
771  /* 5599 */ 'c', 'l', 'z', 9, 0,
772  /* 5604 */ 'c', 'b', 'n', 'z', 9, 0,
773  /* 5610 */ 't', 'b', 'n', 'z', 9, 0,
774  /* 5616 */ 'f', 'r', 'i', 'n', 't', 'z', 9, 0,
775  /* 5624 */ 'm', 'o', 'v', 'z', 9, 0,
776  /* 5630 */ '.', 't', 'l', 's', 'd', 'e', 's', 'c', 'c', 'a', 'l', 'l', 32, 0,
777  /* 5644 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'P', 'a', 't', 'c', 'h', 'a', 'b', 'l', 'e', 32, 'R', 'E', 'T', '.', 0,
778  /* 5675 */ 'b', '.', 0,
779  /* 5678 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
780  /* 5702 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0,
781  /* 5727 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0,
782  /* 5750 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0,
783  /* 5773 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0,
784  /* 5795 */ 'p', 'a', 'c', 'i', 'a', '1', '7', '1', '6', 0,
785  /* 5805 */ 'a', 'u', 't', 'i', 'a', '1', '7', '1', '6', 0,
786  /* 5815 */ 'p', 'a', 'c', 'i', 'b', '1', '7', '1', '6', 0,
787  /* 5825 */ 'a', 'u', 't', 'i', 'b', '1', '7', '1', '6', 0,
788  /* 5835 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
789  /* 5848 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
790  /* 5855 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
791  /* 5865 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0,
792  /* 5875 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
793  /* 5890 */ 'e', 'r', 'e', 't', 'a', 'a', 0,
794  /* 5897 */ 'e', 'r', 'e', 't', 'a', 'b', 0,
795  /* 5904 */ 'x', 'p', 'a', 'c', 'l', 'r', 'i', 0,
796  /* 5912 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0,
797  /* 5926 */ 'p', 'a', 'c', 'i', 'a', 's', 'p', 0,
798  /* 5934 */ 'a', 'u', 't', 'i', 'a', 's', 'p', 0,
799  /* 5942 */ 'p', 'a', 'c', 'i', 'b', 's', 'p', 0,
800  /* 5950 */ 'a', 'u', 't', 'i', 'b', 's', 'p', 0,
801  /* 5958 */ 's', 'e', 't', 'f', 'f', 'r', 0,
802  /* 5965 */ 'd', 'r', 'p', 's', 0,
803  /* 5970 */ 'e', 'r', 'e', 't', 0,
804  /* 5975 */ 'c', 'f', 'i', 'n', 'v', 0,
805  /* 5981 */ 'p', 'a', 'c', 'i', 'a', 'z', 0,
806  /* 5988 */ 'a', 'u', 't', 'i', 'a', 'z', 0,
807  /* 5995 */ 'p', 'a', 'c', 'i', 'b', 'z', 0,
808  /* 6002 */ 'a', 'u', 't', 'i', 'b', 'z', 0,
809  };
810
811  static const uint32_t OpInfo0[] = {
812    0U,	// PHI
813    0U,	// INLINEASM
814    0U,	// CFI_INSTRUCTION
815    0U,	// EH_LABEL
816    0U,	// GC_LABEL
817    0U,	// ANNOTATION_LABEL
818    0U,	// KILL
819    0U,	// EXTRACT_SUBREG
820    0U,	// INSERT_SUBREG
821    0U,	// IMPLICIT_DEF
822    0U,	// SUBREG_TO_REG
823    0U,	// COPY_TO_REGCLASS
824    5856U,	// DBG_VALUE
825    5866U,	// DBG_LABEL
826    0U,	// REG_SEQUENCE
827    0U,	// COPY
828    5849U,	// BUNDLE
829    5876U,	// LIFETIME_START
830    5836U,	// LIFETIME_END
831    0U,	// STACKMAP
832    5913U,	// FENTRY_CALL
833    0U,	// PATCHPOINT
834    0U,	// LOAD_STACK_GUARD
835    0U,	// STATEPOINT
836    0U,	// LOCAL_ESCAPE
837    0U,	// FAULTING_OP
838    0U,	// PATCHABLE_OP
839    5728U,	// PATCHABLE_FUNCTION_ENTER
840    5645U,	// PATCHABLE_RET
841    5774U,	// PATCHABLE_FUNCTION_EXIT
842    5751U,	// PATCHABLE_TAIL_CALL
843    5703U,	// PATCHABLE_EVENT_CALL
844    5679U,	// PATCHABLE_TYPED_EVENT_CALL
845    0U,	// ICALL_BRANCH_FUNNEL
846    0U,	// G_ADD
847    0U,	// G_SUB
848    0U,	// G_MUL
849    0U,	// G_SDIV
850    0U,	// G_UDIV
851    0U,	// G_SREM
852    0U,	// G_UREM
853    0U,	// G_AND
854    0U,	// G_OR
855    0U,	// G_XOR
856    0U,	// G_IMPLICIT_DEF
857    0U,	// G_PHI
858    0U,	// G_FRAME_INDEX
859    0U,	// G_GLOBAL_VALUE
860    0U,	// G_EXTRACT
861    0U,	// G_UNMERGE_VALUES
862    0U,	// G_INSERT
863    0U,	// G_MERGE_VALUES
864    0U,	// G_PTRTOINT
865    0U,	// G_INTTOPTR
866    0U,	// G_BITCAST
867    0U,	// G_LOAD
868    0U,	// G_SEXTLOAD
869    0U,	// G_ZEXTLOAD
870    0U,	// G_STORE
871    0U,	// G_ATOMIC_CMPXCHG_WITH_SUCCESS
872    0U,	// G_ATOMIC_CMPXCHG
873    0U,	// G_ATOMICRMW_XCHG
874    0U,	// G_ATOMICRMW_ADD
875    0U,	// G_ATOMICRMW_SUB
876    0U,	// G_ATOMICRMW_AND
877    0U,	// G_ATOMICRMW_NAND
878    0U,	// G_ATOMICRMW_OR
879    0U,	// G_ATOMICRMW_XOR
880    0U,	// G_ATOMICRMW_MAX
881    0U,	// G_ATOMICRMW_MIN
882    0U,	// G_ATOMICRMW_UMAX
883    0U,	// G_ATOMICRMW_UMIN
884    0U,	// G_BRCOND
885    0U,	// G_BRINDIRECT
886    0U,	// G_INTRINSIC
887    0U,	// G_INTRINSIC_W_SIDE_EFFECTS
888    0U,	// G_ANYEXT
889    0U,	// G_TRUNC
890    0U,	// G_CONSTANT
891    0U,	// G_FCONSTANT
892    0U,	// G_VASTART
893    0U,	// G_VAARG
894    0U,	// G_SEXT
895    0U,	// G_ZEXT
896    0U,	// G_SHL
897    0U,	// G_LSHR
898    0U,	// G_ASHR
899    0U,	// G_ICMP
900    0U,	// G_FCMP
901    0U,	// G_SELECT
902    0U,	// G_UADDE
903    0U,	// G_USUBE
904    0U,	// G_SADDO
905    0U,	// G_SSUBO
906    0U,	// G_UMULO
907    0U,	// G_SMULO
908    0U,	// G_UMULH
909    0U,	// G_SMULH
910    0U,	// G_FADD
911    0U,	// G_FSUB
912    0U,	// G_FMUL
913    0U,	// G_FMA
914    0U,	// G_FDIV
915    0U,	// G_FREM
916    0U,	// G_FPOW
917    0U,	// G_FEXP
918    0U,	// G_FEXP2
919    0U,	// G_FLOG
920    0U,	// G_FLOG2
921    0U,	// G_FNEG
922    0U,	// G_FPEXT
923    0U,	// G_FPTRUNC
924    0U,	// G_FPTOSI
925    0U,	// G_FPTOUI
926    0U,	// G_SITOFP
927    0U,	// G_UITOFP
928    0U,	// G_FABS
929    0U,	// G_GEP
930    0U,	// G_PTR_MASK
931    0U,	// G_BR
932    0U,	// G_INSERT_VECTOR_ELT
933    0U,	// G_EXTRACT_VECTOR_ELT
934    0U,	// G_SHUFFLE_VECTOR
935    0U,	// G_BSWAP
936    0U,	// G_ADDRSPACE_CAST
937    0U,	// G_BLOCK_ADDR
938    12783U,	// ABS_ZPmZ_B
939    20975U,	// ABS_ZPmZ_D
940    2181591535U,	// ABS_ZPmZ_H
941    37359U,	// ABS_ZPmZ_S
942    68202991U,	// ABSv16i8
943    2248200687U,	// ABSv1i64
944    68727279U,	// ABSv2i32
945    2216735215U,	// ABSv2i64
946    69775855U,	// ABSv4i16
947    2217783791U,	// ABSv4i32
948    70824431U,	// ABSv8i16
949    2218832367U,	// ABSv8i8
950    100717078U,	// ADCSWr
951    100717078U,	// ADCSXr
952    100714262U,	// ADCWr
953    100714262U,	// ADCXr
954    2216210145U,	// ADDHNv2i64_v2i32
955    2284904787U,	// ADDHNv2i64_v4i32
956    69775073U,	// ADDHNv4i32_v4i16
957    137945427U,	// ADDHNv4i32_v8i16
958    2282807635U,	// ADDHNv8i16_v16i8
959    2218831585U,	// ADDHNv8i16_v8i8
960    100716037U,	// ADDPL_XXI
961    68202454U,	// ADDPv16i8
962    2216210390U,	// ADDPv2i32
963    2216734678U,	// ADDPv2i64
964    2214645718U,	// ADDPv2i64p
965    69775318U,	// ADDPv4i16
966    70299606U,	// ADDPv4i32
967    2218307542U,	// ADDPv8i16
968    2218831830U,	// ADDPv8i8
969    100717090U,	// ADDSWri
970    0U,	// ADDSWrr
971    100717090U,	// ADDSWrs
972    100717090U,	// ADDSWrx
973    100717090U,	// ADDSXri
974    0U,	// ADDSXrr
975    100717090U,	// ADDSXrs
976    100717090U,	// ADDSXrx
977    100717090U,	// ADDSXrx64
978    100716155U,	// ADDVL_XXI
979    67163034U,	// ADDVv16i8v
980    67163034U,	// ADDVv4i16v
981    2214646682U,	// ADDVv4i32v
982    67163034U,	// ADDVv8i16v
983    2214646682U,	// ADDVv8i8v
984    100714463U,	// ADDWri
985    0U,	// ADDWrr
986    100714463U,	// ADDWrs
987    100714463U,	// ADDWrx
988    100714463U,	// ADDXri
989    0U,	// ADDXrr
990    100714463U,	// ADDXrs
991    100714463U,	// ADDXrx
992    100714463U,	// ADDXrx64
993    167782367U,	// ADD_ZI_B
994    201344991U,	// ADD_ZI_D
995    239626207U,	// ADD_ZI_H
996    268470239U,	// ADD_ZI_S
997    302000095U,	// ADD_ZPmZ_B
998    302008287U,	// ADD_ZPmZ_D
999    2186307551U,	// ADD_ZPmZ_H
1000    302024671U,	// ADD_ZPmZ_S
1001    167782367U,	// ADD_ZZZ_B
1002    201344991U,	// ADD_ZZZ_D
1003    2387109855U,	// ADD_ZZZ_H
1004    268470239U,	// ADD_ZZZ_S
1005    0U,	// ADDlowTLS
1006    68200415U,	// ADDv16i8
1007    100714463U,	// ADDv1i64
1008    2216208351U,	// ADDv2i32
1009    2216732639U,	// ADDv2i64
1010    69773279U,	// ADDv4i16
1011    70297567U,	// ADDv4i32
1012    2218305503U,	// ADDv8i16
1013    2218829791U,	// ADDv8i8
1014    0U,	// ADJCALLSTACKDOWN
1015    0U,	// ADJCALLSTACKUP
1016    2248200418U,	// ADR
1017    335597633U,	// ADRP
1018    207114466U,	// ADR_LSL_ZZZ_D_0
1019    207114466U,	// ADR_LSL_ZZZ_D_1
1020    207114466U,	// ADR_LSL_ZZZ_D_2
1021    207114466U,	// ADR_LSL_ZZZ_D_3
1022    274239714U,	// ADR_LSL_ZZZ_S_0
1023    274239714U,	// ADR_LSL_ZZZ_S_1
1024    274239714U,	// ADR_LSL_ZZZ_S_2
1025    274239714U,	// ADR_LSL_ZZZ_S_3
1026    207114466U,	// ADR_SXTW_ZZZ_D_0
1027    207114466U,	// ADR_SXTW_ZZZ_D_1
1028    207114466U,	// ADR_SXTW_ZZZ_D_2
1029    207114466U,	// ADR_SXTW_ZZZ_D_3
1030    207114466U,	// ADR_UXTW_ZZZ_D_0
1031    207114466U,	// ADR_UXTW_ZZZ_D_1
1032    207114466U,	// ADR_UXTW_ZZZ_D_2
1033    207114466U,	// ADR_UXTW_ZZZ_D_3
1034    135325775U,	// AESDrr
1035    135325907U,	// AESErr
1036    68200224U,	// AESIMCrr
1037    0U,	// AESIMCrrTied
1038    68200232U,	// AESMCrr
1039    0U,	// AESMCrrTied
1040    100717097U,	// ANDSWri
1041    0U,	// ANDSWrr
1042    100717097U,	// ANDSWrs
1043    100717097U,	// ANDSXri
1044    0U,	// ANDSXrr
1045    100717097U,	// ANDSXrs
1046    302002729U,	// ANDS_PPzPP
1047    302044078U,	// ANDV_VPZ_B
1048    302044078U,	// ANDV_VPZ_D
1049    302044078U,	// ANDV_VPZ_H
1050    302044078U,	// ANDV_VPZ_S
1051    100714549U,	// ANDWri
1052    0U,	// ANDWrr
1053    100714549U,	// ANDWrs
1054    100714549U,	// ANDXri
1055    0U,	// ANDXrr
1056    100714549U,	// ANDXrs
1057    302000181U,	// AND_PPzPP
1058    201345077U,	// AND_ZI
1059    302000181U,	// AND_ZPmZ_B
1060    302008373U,	// AND_ZPmZ_D
1061    2186307637U,	// AND_ZPmZ_H
1062    302024757U,	// AND_ZPmZ_S
1063    201345077U,	// AND_ZZZ
1064    68200501U,	// ANDv16i8
1065    2218829877U,	// ANDv8i8
1066    302000201U,	// ASRD_ZPmI_B
1067    302008393U,	// ASRD_ZPmI_D
1068    2186307657U,	// ASRD_ZPmI_H
1069    302024777U,	// ASRD_ZPmI_S
1070    302002512U,	// ASRR_ZPmZ_B
1071    302010704U,	// ASRR_ZPmZ_D
1072    2186309968U,	// ASRR_ZPmZ_H
1073    302027088U,	// ASRR_ZPmZ_S
1074    100716892U,	// ASRVWr
1075    100716892U,	// ASRVXr
1076    302002524U,	// ASR_WIDE_ZPmZ_B
1077    2186309980U,	// ASR_WIDE_ZPmZ_H
1078    302027100U,	// ASR_WIDE_ZPmZ_S
1079    167784796U,	// ASR_WIDE_ZZZ_B
1080    2387112284U,	// ASR_WIDE_ZZZ_H
1081    268472668U,	// ASR_WIDE_ZZZ_S
1082    302002524U,	// ASR_ZPmI_B
1083    302010716U,	// ASR_ZPmI_D
1084    2186309980U,	// ASR_ZPmI_H
1085    302027100U,	// ASR_ZPmI_S
1086    302002524U,	// ASR_ZPmZ_B
1087    302010716U,	// ASR_ZPmZ_D
1088    2186309980U,	// ASR_ZPmZ_H
1089    302027100U,	// ASR_ZPmZ_S
1090    167784796U,	// ASR_ZZI_B
1091    201347420U,	// ASR_ZZI_D
1092    239628636U,	// ASR_ZZI_H
1093    268472668U,	// ASR_ZZI_S
1094    2248196751U,	// AUTDA
1095    2248197244U,	// AUTDB
1096    6341460U,	// AUTDZA
1097    6342386U,	// AUTDZB
1098    2248196772U,	// AUTIA
1099    5806U,	// AUTIA1716
1100    5935U,	// AUTIASP
1101    5989U,	// AUTIAZ
1102    2248197264U,	// AUTIB
1103    5826U,	// AUTIB1716
1104    5951U,	// AUTIBSP
1105    6003U,	// AUTIBZ
1106    6341476U,	// AUTIZA
1107    6342402U,	// AUTIZB
1108    66415U,	// B
1109    68203857U,	// BCAX
1110    369151650U,	// BFMWri
1111    369151650U,	// BFMXri
1112    0U,	// BICSWrr
1113    100717084U,	// BICSWrs
1114    0U,	// BICSXrr
1115    100717084U,	// BICSXrs
1116    302002716U,	// BICS_PPzPP
1117    0U,	// BICWrr
1118    100714267U,	// BICWrs
1119    0U,	// BICXrr
1120    100714267U,	// BICXrs
1121    301999899U,	// BIC_PPzPP
1122    301999899U,	// BIC_ZPmZ_B
1123    302008091U,	// BIC_ZPmZ_D
1124    2186307355U,	// BIC_ZPmZ_H
1125    302024475U,	// BIC_ZPmZ_S
1126    201344795U,	// BIC_ZZZ
1127    68200219U,	// BICv16i8
1128    404285211U,	// BICv2i32
1129    405333787U,	// BICv4i16
1130    405858075U,	// BICv4i32
1131    406382363U,	// BICv8i16
1132    2218829595U,	// BICv8i8
1133    68200698U,	// BIFv16i8
1134    2218830074U,	// BIFv8i8
1135    135328513U,	// BITv16i8
1136    2285957889U,	// BITv8i8
1137    68906U,	// BL
1138    6344980U,	// BLR
1139    2248196710U,	// BLRAA
1140    6346175U,	// BLRAAZ
1141    2248197127U,	// BLRAB
1142    6346190U,	// BLRABZ
1143    6344926U,	// BR
1144    2248196697U,	// BRAA
1145    6346168U,	// BRAAZ
1146    2248197114U,	// BRAB
1147    6346183U,	// BRABZ
1148    76951U,	// BRK
1149    302002647U,	// BRKAS_PPzP
1150    8875U,	// BRKA_PPmP
1151    301998763U,	// BRKA_PPzP
1152    302002683U,	// BRKBS_PPzP
1153    9367U,	// BRKB_PPmP
1154    301999255U,	// BRKB_PPzP
1155    302002803U,	// BRKNS_PPzP
1156    302001918U,	// BRKN_PPzP
1157    302002654U,	// BRKPAS_PPzPP
1158    301998807U,	// BRKPA_PPzPP
1159    302002690U,	// BRKPBS_PPzPP
1160    301999474U,	// BRKPB_PPzPP
1161    135327279U,	// BSLv16i8
1162    2285956655U,	// BSLv8i8
1163    87596U,	// Bcc
1164    2516673568U,	// CASAB
1165    2516675032U,	// CASAH
1166    2516673753U,	// CASALB
1167    2516675183U,	// CASALH
1168    2516675845U,	// CASALW
1169    2516675845U,	// CASALX
1170    2516673308U,	// CASAW
1171    2516673308U,	// CASAX
1172    2516674100U,	// CASB
1173    2516675551U,	// CASH
1174    2516673847U,	// CASLB
1175    2516675277U,	// CASLH
1176    2516676137U,	// CASLW
1177    2516676137U,	// CASLX
1178    101604U,	// CASPALW
1179    109796U,	// CASPALX
1180    99038U,	// CASPAW
1181    107230U,	// CASPAX
1182    101900U,	// CASPLW
1183    110092U,	// CASPLX
1184    102471U,	// CASPW
1185    110663U,	// CASPX
1186    2516677074U,	// CASW
1187    2516677074U,	// CASX
1188    436262373U,	// CBNZW
1189    436262373U,	// CBNZX
1190    436262358U,	// CBZW
1191    436262358U,	// CBZX
1192    100716292U,	// CCMNWi
1193    100716292U,	// CCMNWr
1194    100716292U,	// CCMNXi
1195    100716292U,	// CCMNXr
1196    100716546U,	// CCMPWi
1197    100716546U,	// CCMPWr
1198    100716546U,	// CCMPXi
1199    100716546U,	// CCMPXr
1200    5976U,	// CFINV
1201    302039858U,	// CLASTA_RPZ_B
1202    302039858U,	// CLASTA_RPZ_D
1203    302039858U,	// CLASTA_RPZ_H
1204    302039858U,	// CLASTA_RPZ_S
1205    302039858U,	// CLASTA_VPZ_B
1206    302039858U,	// CLASTA_VPZ_D
1207    302039858U,	// CLASTA_VPZ_H
1208    302039858U,	// CLASTA_VPZ_S
1209    301998898U,	// CLASTA_ZPZ_B
1210    302007090U,	// CLASTA_ZPZ_D
1211    2387632946U,	// CLASTA_ZPZ_H
1212    302023474U,	// CLASTA_ZPZ_S
1213    302040717U,	// CLASTB_RPZ_B
1214    302040717U,	// CLASTB_RPZ_D
1215    302040717U,	// CLASTB_RPZ_H
1216    302040717U,	// CLASTB_RPZ_S
1217    302040717U,	// CLASTB_VPZ_B
1218    302040717U,	// CLASTB_VPZ_D
1219    302040717U,	// CLASTB_VPZ_H
1220    302040717U,	// CLASTB_VPZ_S
1221    301999757U,	// CLASTB_ZPZ_B
1222    302007949U,	// CLASTB_ZPZ_D
1223    2387633805U,	// CLASTB_ZPZ_H
1224    302024333U,	// CLASTB_ZPZ_S
1225    6346114U,	// CLREX
1226    2248200772U,	// CLSWr
1227    2248200772U,	// CLSXr
1228    12868U,	// CLS_ZPmZ_B
1229    21060U,	// CLS_ZPmZ_D
1230    2181591620U,	// CLS_ZPmZ_H
1231    37444U,	// CLS_ZPmZ_S
1232    68203076U,	// CLSv16i8
1233    68727364U,	// CLSv2i32
1234    69775940U,	// CLSv4i16
1235    2217783876U,	// CLSv4i32
1236    70824516U,	// CLSv8i16
1237    2218832452U,	// CLSv8i8
1238    2248201696U,	// CLZWr
1239    2248201696U,	// CLZXr
1240    13792U,	// CLZ_ZPmZ_B
1241    21984U,	// CLZ_ZPmZ_D
1242    2181592544U,	// CLZ_ZPmZ_H
1243    38368U,	// CLZ_ZPmZ_S
1244    68204000U,	// CLZv16i8
1245    68728288U,	// CLZv2i32
1246    69776864U,	// CLZv4i16
1247    2217784800U,	// CLZv4i32
1248    70825440U,	// CLZv8i16
1249    2218833376U,	// CLZv8i8
1250    68202651U,	// CMEQv16i8
1251    68202651U,	// CMEQv16i8rz
1252    100716699U,	// CMEQv1i64
1253    2248200347U,	// CMEQv1i64rz
1254    2216210587U,	// CMEQv2i32
1255    68726939U,	// CMEQv2i32rz
1256    2216734875U,	// CMEQv2i64
1257    2216734875U,	// CMEQv2i64rz
1258    69775515U,	// CMEQv4i16
1259    69775515U,	// CMEQv4i16rz
1260    70299803U,	// CMEQv4i32
1261    2217783451U,	// CMEQv4i32rz
1262    2218307739U,	// CMEQv8i16
1263    70824091U,	// CMEQv8i16rz
1264    2218832027U,	// CMEQv8i8
1265    2218832027U,	// CMEQv8i8rz
1266    68200561U,	// CMGEv16i8
1267    68200561U,	// CMGEv16i8rz
1268    100714609U,	// CMGEv1i64
1269    2248198257U,	// CMGEv1i64rz
1270    2216208497U,	// CMGEv2i32
1271    68724849U,	// CMGEv2i32rz
1272    2216732785U,	// CMGEv2i64
1273    2216732785U,	// CMGEv2i64rz
1274    69773425U,	// CMGEv4i16
1275    69773425U,	// CMGEv4i16rz
1276    70297713U,	// CMGEv4i32
1277    2217781361U,	// CMGEv4i32rz
1278    2218305649U,	// CMGEv8i16
1279    70822001U,	// CMGEv8i16rz
1280    2218829937U,	// CMGEv8i8
1281    2218829937U,	// CMGEv8i8rz
1282    68203251U,	// CMGTv16i8
1283    68203251U,	// CMGTv16i8rz
1284    100717299U,	// CMGTv1i64
1285    2248200947U,	// CMGTv1i64rz
1286    2216211187U,	// CMGTv2i32
1287    68727539U,	// CMGTv2i32rz
1288    2216735475U,	// CMGTv2i64
1289    2216735475U,	// CMGTv2i64rz
1290    69776115U,	// CMGTv4i16
1291    69776115U,	// CMGTv4i16rz
1292    70300403U,	// CMGTv4i32
1293    2217784051U,	// CMGTv4i32rz
1294    2218308339U,	// CMGTv8i16
1295    70824691U,	// CMGTv8i16rz
1296    2218832627U,	// CMGTv8i8
1297    2218832627U,	// CMGTv8i8rz
1298    68201580U,	// CMHIv16i8
1299    100715628U,	// CMHIv1i64
1300    2216209516U,	// CMHIv2i32
1301    2216733804U,	// CMHIv2i64
1302    69774444U,	// CMHIv4i16
1303    70298732U,	// CMHIv4i32
1304    2218306668U,	// CMHIv8i16
1305    2218830956U,	// CMHIv8i8
1306    68203063U,	// CMHSv16i8
1307    100717111U,	// CMHSv1i64
1308    2216210999U,	// CMHSv2i32
1309    2216735287U,	// CMHSv2i64
1310    69775927U,	// CMHSv4i16
1311    70300215U,	// CMHSv4i32
1312    2218308151U,	// CMHSv8i16
1313    2218832439U,	// CMHSv8i8
1314    68200592U,	// CMLEv16i8rz
1315    2248198288U,	// CMLEv1i64rz
1316    68724880U,	// CMLEv2i32rz
1317    2216732816U,	// CMLEv2i64rz
1318    69773456U,	// CMLEv4i16rz
1319    2217781392U,	// CMLEv4i32rz
1320    70822032U,	// CMLEv8i16rz
1321    2218829968U,	// CMLEv8i8rz
1322    68203285U,	// CMLTv16i8rz
1323    2248200981U,	// CMLTv1i64rz
1324    68727573U,	// CMLTv2i32rz
1325    2216735509U,	// CMLTv2i64rz
1326    69776149U,	// CMLTv4i16rz
1327    2217784085U,	// CMLTv4i32rz
1328    70824725U,	// CMLTv8i16rz
1329    2218832661U,	// CMLTv8i8rz
1330    302002346U,	// CMPEQ_PPzZI_B
1331    302010538U,	// CMPEQ_PPzZI_D
1332    2622517418U,	// CMPEQ_PPzZI_H
1333    302026922U,	// CMPEQ_PPzZI_S
1334    302002346U,	// CMPEQ_PPzZZ_B
1335    302010538U,	// CMPEQ_PPzZZ_D
1336    2622517418U,	// CMPEQ_PPzZZ_H
1337    302026922U,	// CMPEQ_PPzZZ_S
1338    302002346U,	// CMPEQ_WIDE_PPzZZ_B
1339    2622517418U,	// CMPEQ_WIDE_PPzZZ_H
1340    302026922U,	// CMPEQ_WIDE_PPzZZ_S
1341    302000247U,	// CMPGE_PPzZI_B
1342    302008439U,	// CMPGE_PPzZI_D
1343    2622515319U,	// CMPGE_PPzZI_H
1344    302024823U,	// CMPGE_PPzZI_S
1345    302000247U,	// CMPGE_PPzZZ_B
1346    302008439U,	// CMPGE_PPzZZ_D
1347    2622515319U,	// CMPGE_PPzZZ_H
1348    302024823U,	// CMPGE_PPzZZ_S
1349    302000247U,	// CMPGE_WIDE_PPzZZ_B
1350    2622515319U,	// CMPGE_WIDE_PPzZZ_H
1351    302024823U,	// CMPGE_WIDE_PPzZZ_S
1352    302002937U,	// CMPGT_PPzZI_B
1353    302011129U,	// CMPGT_PPzZI_D
1354    2622518009U,	// CMPGT_PPzZI_H
1355    302027513U,	// CMPGT_PPzZI_S
1356    302002937U,	// CMPGT_PPzZZ_B
1357    302011129U,	// CMPGT_PPzZZ_D
1358    2622518009U,	// CMPGT_PPzZZ_H
1359    302027513U,	// CMPGT_PPzZZ_S
1360    302002937U,	// CMPGT_WIDE_PPzZZ_B
1361    2622518009U,	// CMPGT_WIDE_PPzZZ_H
1362    302027513U,	// CMPGT_WIDE_PPzZZ_S
1363    302001266U,	// CMPHI_PPzZI_B
1364    302009458U,	// CMPHI_PPzZI_D
1365    2622516338U,	// CMPHI_PPzZI_H
1366    302025842U,	// CMPHI_PPzZI_S
1367    302001266U,	// CMPHI_PPzZZ_B
1368    302009458U,	// CMPHI_PPzZZ_D
1369    2622516338U,	// CMPHI_PPzZZ_H
1370    302025842U,	// CMPHI_PPzZZ_S
1371    302001266U,	// CMPHI_WIDE_PPzZZ_B
1372    2622516338U,	// CMPHI_WIDE_PPzZZ_H
1373    302025842U,	// CMPHI_WIDE_PPzZZ_S
1374    302002749U,	// CMPHS_PPzZI_B
1375    302010941U,	// CMPHS_PPzZI_D
1376    2622517821U,	// CMPHS_PPzZI_H
1377    302027325U,	// CMPHS_PPzZI_S
1378    302002749U,	// CMPHS_PPzZZ_B
1379    302010941U,	// CMPHS_PPzZZ_D
1380    2622517821U,	// CMPHS_PPzZZ_H
1381    302027325U,	// CMPHS_PPzZZ_S
1382    302002749U,	// CMPHS_WIDE_PPzZZ_B
1383    2622517821U,	// CMPHS_WIDE_PPzZZ_H
1384    302027325U,	// CMPHS_WIDE_PPzZZ_S
1385    302000278U,	// CMPLE_PPzZI_B
1386    302008470U,	// CMPLE_PPzZI_D
1387    2622515350U,	// CMPLE_PPzZI_H
1388    302024854U,	// CMPLE_PPzZI_S
1389    302000278U,	// CMPLE_WIDE_PPzZZ_B
1390    2622515350U,	// CMPLE_WIDE_PPzZZ_H
1391    302024854U,	// CMPLE_WIDE_PPzZZ_S
1392    302002080U,	// CMPLO_PPzZI_B
1393    302010272U,	// CMPLO_PPzZI_D
1394    2622517152U,	// CMPLO_PPzZI_H
1395    302026656U,	// CMPLO_PPzZI_S
1396    302002080U,	// CMPLO_WIDE_PPzZZ_B
1397    2622517152U,	// CMPLO_WIDE_PPzZZ_H
1398    302026656U,	// CMPLO_WIDE_PPzZZ_S
1399    302002783U,	// CMPLS_PPzZI_B
1400    302010975U,	// CMPLS_PPzZI_D
1401    2622517855U,	// CMPLS_PPzZI_H
1402    302027359U,	// CMPLS_PPzZI_S
1403    302002783U,	// CMPLS_WIDE_PPzZZ_B
1404    2622517855U,	// CMPLS_WIDE_PPzZZ_H
1405    302027359U,	// CMPLS_WIDE_PPzZZ_S
1406    302002971U,	// CMPLT_PPzZI_B
1407    302011163U,	// CMPLT_PPzZI_D
1408    2622518043U,	// CMPLT_PPzZI_H
1409    302027547U,	// CMPLT_PPzZI_S
1410    302002971U,	// CMPLT_WIDE_PPzZZ_B
1411    2622518043U,	// CMPLT_WIDE_PPzZZ_H
1412    302027547U,	// CMPLT_WIDE_PPzZZ_S
1413    302000301U,	// CMPNE_PPzZI_B
1414    302008493U,	// CMPNE_PPzZI_D
1415    2622515373U,	// CMPNE_PPzZI_H
1416    302024877U,	// CMPNE_PPzZI_S
1417    302000301U,	// CMPNE_PPzZZ_B
1418    302008493U,	// CMPNE_PPzZZ_D
1419    2622515373U,	// CMPNE_PPzZZ_H
1420    302024877U,	// CMPNE_PPzZZ_S
1421    302000301U,	// CMPNE_WIDE_PPzZZ_B
1422    2622515373U,	// CMPNE_WIDE_PPzZZ_H
1423    302024877U,	// CMPNE_WIDE_PPzZZ_S
1424    0U,	// CMP_SWAP_128
1425    0U,	// CMP_SWAP_16
1426    0U,	// CMP_SWAP_32
1427    0U,	// CMP_SWAP_64
1428    0U,	// CMP_SWAP_8
1429    68203349U,	// CMTSTv16i8
1430    100717397U,	// CMTSTv1i64
1431    2216211285U,	// CMTSTv2i32
1432    2216735573U,	// CMTSTv2i64
1433    69776213U,	// CMTSTv4i16
1434    70300501U,	// CMTSTv4i32
1435    2218308437U,	// CMTSTv8i16
1436    2218832725U,	// CMTSTv8i8
1437    13113U,	// CNOT_ZPmZ_B
1438    21305U,	// CNOT_ZPmZ_D
1439    2181591865U,	// CNOT_ZPmZ_H
1440    37689U,	// CNOT_ZPmZ_S
1441    503367303U,	// CNTB_XPiI
1442    503367765U,	// CNTD_XPiI
1443    503368736U,	// CNTH_XPiI
1444    302043213U,	// CNTP_XPP_B
1445    302043213U,	// CNTP_XPP_D
1446    302043213U,	// CNTP_XPP_H
1447    302043213U,	// CNTP_XPP_S
1448    503371057U,	// CNTW_XPiI
1449    13090U,	// CNT_ZPmZ_B
1450    21282U,	// CNT_ZPmZ_D
1451    2181591842U,	// CNT_ZPmZ_H
1452    37666U,	// CNT_ZPmZ_S
1453    68203298U,	// CNTv16i8
1454    2218832674U,	// CNTv8i8
1455    302011094U,	// COMPACT_ZPZ_D
1456    302027478U,	// COMPACT_ZPZ_S
1457    13747U,	// CPY_ZPmI_B
1458    21939U,	// CPY_ZPmI_D
1459    2181592499U,	// CPY_ZPmI_H
1460    38323U,	// CPY_ZPmI_S
1461    13747U,	// CPY_ZPmR_B
1462    21939U,	// CPY_ZPmR_D
1463    34108851U,	// CPY_ZPmR_H
1464    38323U,	// CPY_ZPmR_S
1465    13747U,	// CPY_ZPmV_B
1466    21939U,	// CPY_ZPmV_D
1467    34108851U,	// CPY_ZPmV_H
1468    38323U,	// CPY_ZPmV_S
1469    302003635U,	// CPY_ZPzI_B
1470    302011827U,	// CPY_ZPzI_D
1471    2622518707U,	// CPY_ZPzI_H
1472    302028211U,	// CPY_ZPzI_S
1473    67163146U,	// CPYi16
1474    2214646794U,	// CPYi32
1475    67163146U,	// CPYi64
1476    2214646794U,	// CPYi8
1477    100713377U,	// CRC32Brr
1478    100713540U,	// CRC32CBrr
1479    100715004U,	// CRC32CHrr
1480    100717724U,	// CRC32CWrr
1481    100717938U,	// CRC32CXrr
1482    100714851U,	// CRC32Hrr
1483    100717666U,	// CRC32Wrr
1484    100717897U,	// CRC32Xrr
1485    100715905U,	// CSELWr
1486    100715905U,	// CSELXr
1487    100714287U,	// CSINCWr
1488    100714287U,	// CSINCXr
1489    100717570U,	// CSINVWr
1490    100717570U,	// CSINVXr
1491    100714784U,	// CSNEGWr
1492    100714784U,	// CSNEGXr
1493    2248200353U,	// CTERMEQ_WW
1494    2248200353U,	// CTERMEQ_XX
1495    2248198308U,	// CTERMNE_WW
1496    2248198308U,	// CTERMNE_XX
1497    0U,	// CompilerBarrier
1498    73783U,	// DCPS1
1499    74194U,	// DCPS2
1500    74260U,	// DCPS3
1501    536921167U,	// DECB_XPiI
1502    536922047U,	// DECD_XPiI
1503    536889279U,	// DECD_ZPiI
1504    536922631U,	// DECH_XPiI
1505    6842887U,	// DECH_ZPiI
1506    2315308983U,	// DECP_XP_B
1507    2348863415U,	// DECP_XP_D
1508    2717962167U,	// DECP_XP_H
1509    2415972279U,	// DECP_XP_S
1510    2147504055U,	// DECP_ZP_D
1511    604532663U,	// DECP_ZP_H
1512    2147520439U,	// DECP_ZP_S
1513    536925351U,	// DECW_XPiI
1514    536908967U,	// DECW_ZPiI
1515    116059U,	// DMB
1516    5966U,	// DRPS
1517    116282U,	// DSB
1518    637554371U,	// DUPM_ZI
1519    671101025U,	// DUP_ZI_B
1520    704663649U,	// DUP_ZI_D
1521    7368801U,	// DUP_ZI_H
1522    738234465U,	// DUP_ZI_S
1523    2248159329U,	// DUP_ZR_B
1524    2248167521U,	// DUP_ZR_D
1525    611872865U,	// DUP_ZR_H
1526    2248183905U,	// DUP_ZR_S
1527    167784545U,	// DUP_ZZI_B
1528    201347169U,	// DUP_ZZI_D
1529    776499297U,	// DUP_ZZI_H
1530    127073U,	// DUP_ZZI_Q
1531    268472417U,	// DUP_ZZI_S
1532    2249240673U,	// DUPv16i8gpr
1533    2215686241U,	// DUPv16i8lane
1534    2249764961U,	// DUPv2i32gpr
1535    2216210529U,	// DUPv2i32lane
1536    2250289249U,	// DUPv2i64gpr
1537    69251169U,	// DUPv2i64lane
1538    2250813537U,	// DUPv4i16gpr
1539    69775457U,	// DUPv4i16lane
1540    2251337825U,	// DUPv4i32gpr
1541    2217783393U,	// DUPv4i32lane
1542    2251862113U,	// DUPv8i16gpr
1543    70824033U,	// DUPv8i16lane
1544    2252386401U,	// DUPv8i8gpr
1545    2218831969U,	// DUPv8i8lane
1546    0U,	// EONWrr
1547    100716298U,	// EONWrs
1548    0U,	// EONXrr
1549    100716298U,	// EONXrs
1550    68198926U,	// EOR3
1551    302002853U,	// EORS_PPzPP
1552    302044187U,	// EORV_VPZ_B
1553    302044187U,	// EORV_VPZ_D
1554    302044187U,	// EORV_VPZ_H
1555    302044187U,	// EORV_VPZ_S
1556    100716853U,	// EORWri
1557    0U,	// EORWrr
1558    100716853U,	// EORWrs
1559    100716853U,	// EORXri
1560    0U,	// EORXrr
1561    100716853U,	// EORXrs
1562    302002485U,	// EOR_PPzPP
1563    201347381U,	// EOR_ZI
1564    302002485U,	// EOR_ZPmZ_B
1565    302010677U,	// EOR_ZPmZ_D
1566    2186309941U,	// EOR_ZPmZ_H
1567    302027061U,	// EOR_ZPmZ_S
1568    201347381U,	// EOR_ZZZ
1569    68202805U,	// EORv16i8
1570    2218832181U,	// EORv8i8
1571    5971U,	// ERET
1572    5891U,	// ERETAA
1573    5898U,	// ERETAB
1574    100716930U,	// EXTRWrri
1575    100716930U,	// EXTRXrri
1576    167785316U,	// EXT_ZZI
1577    68203364U,	// EXTv16i8
1578    2218832740U,	// EXTv8i8
1579    0U,	// F128CSEL
1580    100714404U,	// FABD16
1581    100714404U,	// FABD32
1582    100714404U,	// FABD64
1583    302008228U,	// FABD_ZPmZ_D
1584    2186307492U,	// FABD_ZPmZ_H
1585    302024612U,	// FABD_ZPmZ_S
1586    2216208292U,	// FABDv2f32
1587    2216732580U,	// FABDv2f64
1588    69773220U,	// FABDv4f16
1589    70297508U,	// FABDv4f32
1590    2218305444U,	// FABDv8f16
1591    2248200686U,	// FABSDr
1592    2248200686U,	// FABSHr
1593    2248200686U,	// FABSSr
1594    20974U,	// FABS_ZPmZ_D
1595    2181591534U,	// FABS_ZPmZ_H
1596    37358U,	// FABS_ZPmZ_S
1597    68727278U,	// FABSv2f32
1598    2216735214U,	// FABSv2f64
1599    69775854U,	// FABSv4f16
1600    2217783790U,	// FABSv4f32
1601    70824430U,	// FABSv8f16
1602    100714601U,	// FACGE16
1603    100714601U,	// FACGE32
1604    100714601U,	// FACGE64
1605    302008425U,	// FACGE_PPzZZ_D
1606    2622515305U,	// FACGE_PPzZZ_H
1607    302024809U,	// FACGE_PPzZZ_S
1608    2216208489U,	// FACGEv2f32
1609    2216732777U,	// FACGEv2f64
1610    69773417U,	// FACGEv4f16
1611    70297705U,	// FACGEv4f32
1612    2218305641U,	// FACGEv8f16
1613    100717291U,	// FACGT16
1614    100717291U,	// FACGT32
1615    100717291U,	// FACGT64
1616    302011115U,	// FACGT_PPzZZ_D
1617    2622517995U,	// FACGT_PPzZZ_H
1618    302027499U,	// FACGT_PPzZZ_S
1619    2216211179U,	// FACGTv2f32
1620    2216735467U,	// FACGTv2f64
1621    69776107U,	// FACGTv4f16
1622    70300395U,	// FACGTv4f32
1623    2218308331U,	// FACGTv8f16
1624    302039688U,	// FADDA_VPZ_D
1625    302039688U,	// FADDA_VPZ_H
1626    302039688U,	// FADDA_VPZ_S
1627    100714475U,	// FADDDrr
1628    100714475U,	// FADDHrr
1629    2216210389U,	// FADDPv2f32
1630    2216734677U,	// FADDPv2f64
1631    2214645717U,	// FADDPv2i16p
1632    67162069U,	// FADDPv2i32p
1633    2214645717U,	// FADDPv2i64p
1634    69775317U,	// FADDPv4f16
1635    70299605U,	// FADDPv4f32
1636    2218307541U,	// FADDPv8f16
1637    100714475U,	// FADDSrr
1638    302044057U,	// FADDV_VPZ_D
1639    302044057U,	// FADDV_VPZ_H
1640    302044057U,	// FADDV_VPZ_S
1641    302008299U,	// FADD_ZPmI_D
1642    2186307563U,	// FADD_ZPmI_H
1643    302024683U,	// FADD_ZPmI_S
1644    302008299U,	// FADD_ZPmZ_D
1645    2186307563U,	// FADD_ZPmZ_H
1646    302024683U,	// FADD_ZPmZ_S
1647    201345003U,	// FADD_ZZZ_D
1648    2387109867U,	// FADD_ZZZ_H
1649    268470251U,	// FADD_ZZZ_S
1650    2216208363U,	// FADDv2f32
1651    2216732651U,	// FADDv2f64
1652    69773291U,	// FADDv4f16
1653    70297579U,	// FADDv4f32
1654    2218305515U,	// FADDv8f16
1655    302008285U,	// FCADD_ZPmZ_D
1656    2186307549U,	// FCADD_ZPmZ_H
1657    302024669U,	// FCADD_ZPmZ_S
1658    2216208349U,	// FCADDv2f32
1659    2216732637U,	// FCADDv2f64
1660    69773277U,	// FCADDv4f16
1661    70297565U,	// FCADDv4f32
1662    2218305501U,	// FCADDv8f16
1663    100716545U,	// FCCMPDrr
1664    100714692U,	// FCCMPEDrr
1665    100714692U,	// FCCMPEHrr
1666    100714692U,	// FCCMPESrr
1667    100716545U,	// FCCMPHrr
1668    100716545U,	// FCCMPSrr
1669    100716698U,	// FCMEQ16
1670    100716698U,	// FCMEQ32
1671    100716698U,	// FCMEQ64
1672    302010522U,	// FCMEQ_PPzZ0_D
1673    2622517402U,	// FCMEQ_PPzZ0_H
1674    302026906U,	// FCMEQ_PPzZ0_S
1675    302010522U,	// FCMEQ_PPzZZ_D
1676    2622517402U,	// FCMEQ_PPzZZ_H
1677    302026906U,	// FCMEQ_PPzZZ_S
1678    100716698U,	// FCMEQv1i16rz
1679    100716698U,	// FCMEQv1i32rz
1680    100716698U,	// FCMEQv1i64rz
1681    2216210586U,	// FCMEQv2f32
1682    2216734874U,	// FCMEQv2f64
1683    2216210586U,	// FCMEQv2i32rz
1684    69251226U,	// FCMEQv2i64rz
1685    69775514U,	// FCMEQv4f16
1686    70299802U,	// FCMEQv4f32
1687    2217259162U,	// FCMEQv4i16rz
1688    70299802U,	// FCMEQv4i32rz
1689    2218307738U,	// FCMEQv8f16
1690    2218307738U,	// FCMEQv8i16rz
1691    100714608U,	// FCMGE16
1692    100714608U,	// FCMGE32
1693    100714608U,	// FCMGE64
1694    302008432U,	// FCMGE_PPzZ0_D
1695    2622515312U,	// FCMGE_PPzZ0_H
1696    302024816U,	// FCMGE_PPzZ0_S
1697    302008432U,	// FCMGE_PPzZZ_D
1698    2622515312U,	// FCMGE_PPzZZ_H
1699    302024816U,	// FCMGE_PPzZZ_S
1700    100714608U,	// FCMGEv1i16rz
1701    100714608U,	// FCMGEv1i32rz
1702    100714608U,	// FCMGEv1i64rz
1703    2216208496U,	// FCMGEv2f32
1704    2216732784U,	// FCMGEv2f64
1705    2216208496U,	// FCMGEv2i32rz
1706    69249136U,	// FCMGEv2i64rz
1707    69773424U,	// FCMGEv4f16
1708    70297712U,	// FCMGEv4f32
1709    2217257072U,	// FCMGEv4i16rz
1710    70297712U,	// FCMGEv4i32rz
1711    2218305648U,	// FCMGEv8f16
1712    2218305648U,	// FCMGEv8i16rz
1713    100717298U,	// FCMGT16
1714    100717298U,	// FCMGT32
1715    100717298U,	// FCMGT64
1716    302011122U,	// FCMGT_PPzZ0_D
1717    2622518002U,	// FCMGT_PPzZ0_H
1718    302027506U,	// FCMGT_PPzZ0_S
1719    302011122U,	// FCMGT_PPzZZ_D
1720    2622518002U,	// FCMGT_PPzZZ_H
1721    302027506U,	// FCMGT_PPzZZ_S
1722    100717298U,	// FCMGTv1i16rz
1723    100717298U,	// FCMGTv1i32rz
1724    100717298U,	// FCMGTv1i64rz
1725    2216211186U,	// FCMGTv2f32
1726    2216735474U,	// FCMGTv2f64
1727    2216211186U,	// FCMGTv2i32rz
1728    69251826U,	// FCMGTv2i64rz
1729    69776114U,	// FCMGTv4f16
1730    70300402U,	// FCMGTv4f32
1731    2217259762U,	// FCMGTv4i16rz
1732    70300402U,	// FCMGTv4i32rz
1733    2218308338U,	// FCMGTv8f16
1734    2218308338U,	// FCMGTv8i16rz
1735    302006961U,	// FCMLA_ZPmZZ_D
1736    2186306225U,	// FCMLA_ZPmZZ_H
1737    302023345U,	// FCMLA_ZPmZZ_S
1738    243294897U,	// FCMLA_ZZZI_H
1739    2952823473U,	// FCMLA_ZZZI_S
1740    2283332273U,	// FCMLAv2f32
1741    2283856561U,	// FCMLAv2f64
1742    136897201U,	// FCMLAv4f16
1743    136897201U,	// FCMLAv4f16_indexed
1744    137421489U,	// FCMLAv4f32
1745    137421489U,	// FCMLAv4f32_indexed
1746    2285429425U,	// FCMLAv8f16
1747    2285429425U,	// FCMLAv8f16_indexed
1748    302008463U,	// FCMLE_PPzZ0_D
1749    2622515343U,	// FCMLE_PPzZ0_H
1750    302024847U,	// FCMLE_PPzZ0_S
1751    100714639U,	// FCMLEv1i16rz
1752    100714639U,	// FCMLEv1i32rz
1753    100714639U,	// FCMLEv1i64rz
1754    2216208527U,	// FCMLEv2i32rz
1755    69249167U,	// FCMLEv2i64rz
1756    2217257103U,	// FCMLEv4i16rz
1757    70297743U,	// FCMLEv4i32rz
1758    2218305679U,	// FCMLEv8i16rz
1759    302011156U,	// FCMLT_PPzZ0_D
1760    2622518036U,	// FCMLT_PPzZ0_H
1761    302027540U,	// FCMLT_PPzZ0_S
1762    100717332U,	// FCMLTv1i16rz
1763    100717332U,	// FCMLTv1i32rz
1764    100717332U,	// FCMLTv1i64rz
1765    2216211220U,	// FCMLTv2i32rz
1766    69251860U,	// FCMLTv2i64rz
1767    2217259796U,	// FCMLTv4i16rz
1768    70300436U,	// FCMLTv4i32rz
1769    2218308372U,	// FCMLTv8i16rz
1770    302008477U,	// FCMNE_PPzZ0_D
1771    2622515357U,	// FCMNE_PPzZ0_H
1772    302024861U,	// FCMNE_PPzZ0_S
1773    302008477U,	// FCMNE_PPzZZ_D
1774    2622515357U,	// FCMNE_PPzZZ_H
1775    302024861U,	// FCMNE_PPzZZ_S
1776    8966152U,	// FCMPDri
1777    2248200200U,	// FCMPDrr
1778    8964300U,	// FCMPEDri
1779    2248198348U,	// FCMPEDrr
1780    8964300U,	// FCMPEHri
1781    2248198348U,	// FCMPEHrr
1782    8964300U,	// FCMPESri
1783    2248198348U,	// FCMPESrr
1784    8966152U,	// FCMPHri
1785    2248200200U,	// FCMPHrr
1786    8966152U,	// FCMPSri
1787    2248200200U,	// FCMPSrr
1788    302010279U,	// FCMUO_PPzZZ_D
1789    2622517159U,	// FCMUO_PPzZZ_H
1790    302026663U,	// FCMUO_PPzZZ_S
1791    21938U,	// FCPY_ZPmI_D
1792    34108850U,	// FCPY_ZPmI_H
1793    38322U,	// FCPY_ZPmI_S
1794    100715904U,	// FCSELDrrr
1795    100715904U,	// FCSELHrrr
1796    100715904U,	// FCSELSrrr
1797    2248200678U,	// FCVTASUWDr
1798    2248200678U,	// FCVTASUWHr
1799    2248200678U,	// FCVTASUWSr
1800    2248200678U,	// FCVTASUXDr
1801    2248200678U,	// FCVTASUXHr
1802    2248200678U,	// FCVTASUXSr
1803    2248200678U,	// FCVTASv1f16
1804    2248200678U,	// FCVTASv1i32
1805    2248200678U,	// FCVTASv1i64
1806    68727270U,	// FCVTASv2f32
1807    2216735206U,	// FCVTASv2f64
1808    69775846U,	// FCVTASv4f16
1809    2217783782U,	// FCVTASv4f32
1810    70824422U,	// FCVTASv8f16
1811    2248201065U,	// FCVTAUUWDr
1812    2248201065U,	// FCVTAUUWHr
1813    2248201065U,	// FCVTAUUWSr
1814    2248201065U,	// FCVTAUUXDr
1815    2248201065U,	// FCVTAUUXHr
1816    2248201065U,	// FCVTAUUXSr
1817    2248201065U,	// FCVTAUv1f16
1818    2248201065U,	// FCVTAUv1i32
1819    2248201065U,	// FCVTAUv1i64
1820    68727657U,	// FCVTAUv2f32
1821    2216735593U,	// FCVTAUv2f64
1822    69776233U,	// FCVTAUv4f16
1823    2217784169U,	// FCVTAUv4f32
1824    70824809U,	// FCVTAUv8f16
1825    2248201052U,	// FCVTDHr
1826    2248201052U,	// FCVTDSr
1827    2248201052U,	// FCVTHDr
1828    2248201052U,	// FCVTHSr
1829    69250649U,	// FCVTLv2i32
1830    70299225U,	// FCVTLv4i16
1831    2216730945U,	// FCVTLv4i32
1832    70295873U,	// FCVTLv8i16
1833    2248200806U,	// FCVTMSUWDr
1834    2248200806U,	// FCVTMSUWHr
1835    2248200806U,	// FCVTMSUWSr
1836    2248200806U,	// FCVTMSUXDr
1837    2248200806U,	// FCVTMSUXHr
1838    2248200806U,	// FCVTMSUXSr
1839    2248200806U,	// FCVTMSv1f16
1840    2248200806U,	// FCVTMSv1i32
1841    2248200806U,	// FCVTMSv1i64
1842    68727398U,	// FCVTMSv2f32
1843    2216735334U,	// FCVTMSv2f64
1844    69775974U,	// FCVTMSv4f16
1845    2217783910U,	// FCVTMSv4f32
1846    70824550U,	// FCVTMSv8f16
1847    2248201081U,	// FCVTMUUWDr
1848    2248201081U,	// FCVTMUUWHr
1849    2248201081U,	// FCVTMUUWSr
1850    2248201081U,	// FCVTMUUXDr
1851    2248201081U,	// FCVTMUUXHr
1852    2248201081U,	// FCVTMUUXSr
1853    2248201081U,	// FCVTMUv1f16
1854    2248201081U,	// FCVTMUv1i32
1855    2248201081U,	// FCVTMUv1i64
1856    68727673U,	// FCVTMUv2f32
1857    2216735609U,	// FCVTMUv2f64
1858    69776249U,	// FCVTMUv4f16
1859    2217784185U,	// FCVTMUv4f32
1860    70824825U,	// FCVTMUv8f16
1861    2248200832U,	// FCVTNSUWDr
1862    2248200832U,	// FCVTNSUWHr
1863    2248200832U,	// FCVTNSUWSr
1864    2248200832U,	// FCVTNSUXDr
1865    2248200832U,	// FCVTNSUXHr
1866    2248200832U,	// FCVTNSUXSr
1867    2248200832U,	// FCVTNSv1f16
1868    2248200832U,	// FCVTNSv1i32
1869    2248200832U,	// FCVTNSv1i64
1870    68727424U,	// FCVTNSv2f32
1871    2216735360U,	// FCVTNSv2f64
1872    69776000U,	// FCVTNSv4f16
1873    2217783936U,	// FCVTNSv4f32
1874    70824576U,	// FCVTNSv8f16
1875    2248201089U,	// FCVTNUUWDr
1876    2248201089U,	// FCVTNUUWHr
1877    2248201089U,	// FCVTNUUWSr
1878    2248201089U,	// FCVTNUUXDr
1879    2248201089U,	// FCVTNUUXHr
1880    2248201089U,	// FCVTNUUXSr
1881    2248201089U,	// FCVTNUv1f16
1882    2248201089U,	// FCVTNUv1i32
1883    2248201089U,	// FCVTNUv1i64
1884    68727681U,	// FCVTNUv2f32
1885    2216735617U,	// FCVTNUv2f64
1886    69776257U,	// FCVTNUv4f16
1887    2217784193U,	// FCVTNUv4f32
1888    70824833U,	// FCVTNUv8f16
1889    2216210238U,	// FCVTNv2i32
1890    2217258814U,	// FCVTNv4i16
1891    2284904839U,	// FCVTNv4i32
1892    2285429127U,	// FCVTNv8i16
1893    2248200848U,	// FCVTPSUWDr
1894    2248200848U,	// FCVTPSUWHr
1895    2248200848U,	// FCVTPSUWSr
1896    2248200848U,	// FCVTPSUXDr
1897    2248200848U,	// FCVTPSUXHr
1898    2248200848U,	// FCVTPSUXSr
1899    2248200848U,	// FCVTPSv1f16
1900    2248200848U,	// FCVTPSv1i32
1901    2248200848U,	// FCVTPSv1i64
1902    68727440U,	// FCVTPSv2f32
1903    2216735376U,	// FCVTPSv2f64
1904    69776016U,	// FCVTPSv4f16
1905    2217783952U,	// FCVTPSv4f32
1906    70824592U,	// FCVTPSv8f16
1907    2248201097U,	// FCVTPUUWDr
1908    2248201097U,	// FCVTPUUWHr
1909    2248201097U,	// FCVTPUUWSr
1910    2248201097U,	// FCVTPUUXDr
1911    2248201097U,	// FCVTPUUXHr
1912    2248201097U,	// FCVTPUUXSr
1913    2248201097U,	// FCVTPUv1f16
1914    2248201097U,	// FCVTPUv1i32
1915    2248201097U,	// FCVTPUv1i64
1916    68727689U,	// FCVTPUv2f32
1917    2216735625U,	// FCVTPUv2f64
1918    69776265U,	// FCVTPUv4f16
1919    2217784201U,	// FCVTPUv4f32
1920    70824841U,	// FCVTPUv8f16
1921    2248201052U,	// FCVTSDr
1922    2248201052U,	// FCVTSHr
1923    2248200052U,	// FCVTXNv1i64
1924    2216210292U,	// FCVTXNv2f32
1925    2284904893U,	// FCVTXNv4f32
1926    100717253U,	// FCVTZSSWDri
1927    100717253U,	// FCVTZSSWHri
1928    100717253U,	// FCVTZSSWSri
1929    100717253U,	// FCVTZSSXDri
1930    100717253U,	// FCVTZSSXHri
1931    100717253U,	// FCVTZSSXSri
1932    2248200901U,	// FCVTZSUWDr
1933    2248200901U,	// FCVTZSUWHr
1934    2248200901U,	// FCVTZSUWSr
1935    2248200901U,	// FCVTZSUXDr
1936    2248200901U,	// FCVTZSUXHr
1937    2248200901U,	// FCVTZSUXSr
1938    21189U,	// FCVTZS_ZPmZ_DtoD
1939    37573U,	// FCVTZS_ZPmZ_DtoS
1940    21189U,	// FCVTZS_ZPmZ_HtoD
1941    2181591749U,	// FCVTZS_ZPmZ_HtoH
1942    37573U,	// FCVTZS_ZPmZ_HtoS
1943    21189U,	// FCVTZS_ZPmZ_StoD
1944    37573U,	// FCVTZS_ZPmZ_StoS
1945    100717253U,	// FCVTZSd
1946    100717253U,	// FCVTZSh
1947    100717253U,	// FCVTZSs
1948    2248200901U,	// FCVTZSv1f16
1949    2248200901U,	// FCVTZSv1i32
1950    2248200901U,	// FCVTZSv1i64
1951    68727493U,	// FCVTZSv2f32
1952    2216735429U,	// FCVTZSv2f64
1953    2216211141U,	// FCVTZSv2i32_shift
1954    2216735429U,	// FCVTZSv2i64_shift
1955    69776069U,	// FCVTZSv4f16
1956    2217784005U,	// FCVTZSv4f32
1957    69776069U,	// FCVTZSv4i16_shift
1958    70300357U,	// FCVTZSv4i32_shift
1959    70824645U,	// FCVTZSv8f16
1960    2218308293U,	// FCVTZSv8i16_shift
1961    100717457U,	// FCVTZUSWDri
1962    100717457U,	// FCVTZUSWHri
1963    100717457U,	// FCVTZUSWSri
1964    100717457U,	// FCVTZUSXDri
1965    100717457U,	// FCVTZUSXHri
1966    100717457U,	// FCVTZUSXSri
1967    2248201105U,	// FCVTZUUWDr
1968    2248201105U,	// FCVTZUUWHr
1969    2248201105U,	// FCVTZUUWSr
1970    2248201105U,	// FCVTZUUXDr
1971    2248201105U,	// FCVTZUUXHr
1972    2248201105U,	// FCVTZUUXSr
1973    21393U,	// FCVTZU_ZPmZ_DtoD
1974    37777U,	// FCVTZU_ZPmZ_DtoS
1975    21393U,	// FCVTZU_ZPmZ_HtoD
1976    2181591953U,	// FCVTZU_ZPmZ_HtoH
1977    37777U,	// FCVTZU_ZPmZ_HtoS
1978    21393U,	// FCVTZU_ZPmZ_StoD
1979    37777U,	// FCVTZU_ZPmZ_StoS
1980    100717457U,	// FCVTZUd
1981    100717457U,	// FCVTZUh
1982    100717457U,	// FCVTZUs
1983    2248201105U,	// FCVTZUv1f16
1984    2248201105U,	// FCVTZUv1i32
1985    2248201105U,	// FCVTZUv1i64
1986    68727697U,	// FCVTZUv2f32
1987    2216735633U,	// FCVTZUv2f64
1988    2216211345U,	// FCVTZUv2i32_shift
1989    2216735633U,	// FCVTZUv2i64_shift
1990    69776273U,	// FCVTZUv4f16
1991    2217784209U,	// FCVTZUv4f32
1992    69776273U,	// FCVTZUv4i16_shift
1993    70300561U,	// FCVTZUv4i32_shift
1994    70824849U,	// FCVTZUv8f16
1995    2218308497U,	// FCVTZUv8i16_shift
1996    2181591900U,	// FCVT_ZPmZ_DtoH
1997    37724U,	// FCVT_ZPmZ_DtoS
1998    21340U,	// FCVT_ZPmZ_HtoD
1999    37724U,	// FCVT_ZPmZ_HtoS
2000    21340U,	// FCVT_ZPmZ_StoD
2001    2181591900U,	// FCVT_ZPmZ_StoH
2002    100717497U,	// FDIVDrr
2003    100717497U,	// FDIVHrr
2004    302010787U,	// FDIVR_ZPmZ_D
2005    2186310051U,	// FDIVR_ZPmZ_H
2006    302027171U,	// FDIVR_ZPmZ_S
2007    100717497U,	// FDIVSrr
2008    302011321U,	// FDIV_ZPmZ_D
2009    2186310585U,	// FDIV_ZPmZ_H
2010    302027705U,	// FDIV_ZPmZ_S
2011    2216211385U,	// FDIVv2f32
2012    2216735673U,	// FDIVv2f64
2013    69776313U,	// FDIVv4f16
2014    70300601U,	// FDIVv4f32
2015    2218308537U,	// FDIVv8f16
2016    838881376U,	// FDUP_ZI_D
2017    9465952U,	// FDUP_ZI_H
2018    838897760U,	// FDUP_ZI_S
2019    2348827371U,	// FEXPA_ZZ_D
2020    608723691U,	// FEXPA_ZZ_H
2021    2415952619U,	// FEXPA_ZZ_S
2022    2248200909U,	// FJCVTZS
2023    100714511U,	// FMADDDrrr
2024    100714511U,	// FMADDHrrr
2025    100714511U,	// FMADDSrrr
2026    302008208U,	// FMAD_ZPmZZ_D
2027    2186307472U,	// FMAD_ZPmZZ_H
2028    302024592U,	// FMAD_ZPmZZ_S
2029    100717911U,	// FMAXDrr
2030    100717911U,	// FMAXHrr
2031    100716219U,	// FMAXNMDrr
2032    100716219U,	// FMAXNMHrr
2033    2216210455U,	// FMAXNMPv2f32
2034    2216734743U,	// FMAXNMPv2f64
2035    2214645783U,	// FMAXNMPv2i16p
2036    67162135U,	// FMAXNMPv2i32p
2037    2214645783U,	// FMAXNMPv2i64p
2038    69775383U,	// FMAXNMPv4f16
2039    70299671U,	// FMAXNMPv4f32
2040    2218307607U,	// FMAXNMPv8f16
2041    100716219U,	// FMAXNMSrr
2042    302044132U,	// FMAXNMV_VPZ_D
2043    302044132U,	// FMAXNMV_VPZ_H
2044    302044132U,	// FMAXNMV_VPZ_S
2045    67163108U,	// FMAXNMVv4i16v
2046    2214646756U,	// FMAXNMVv4i32v
2047    67163108U,	// FMAXNMVv8i16v
2048    302010043U,	// FMAXNM_ZPmI_D
2049    2186309307U,	// FMAXNM_ZPmI_H
2050    302026427U,	// FMAXNM_ZPmI_S
2051    302010043U,	// FMAXNM_ZPmZ_D
2052    2186309307U,	// FMAXNM_ZPmZ_H
2053    302026427U,	// FMAXNM_ZPmZ_S
2054    2216210107U,	// FMAXNMv2f32
2055    2216734395U,	// FMAXNMv2f64
2056    69775035U,	// FMAXNMv4f16
2057    70299323U,	// FMAXNMv4f32
2058    2218307259U,	// FMAXNMv8f16
2059    2216210546U,	// FMAXPv2f32
2060    2216734834U,	// FMAXPv2f64
2061    2214645874U,	// FMAXPv2i16p
2062    67162226U,	// FMAXPv2i32p
2063    2214645874U,	// FMAXPv2i64p
2064    69775474U,	// FMAXPv4f16
2065    70299762U,	// FMAXPv4f32
2066    2218307698U,	// FMAXPv8f16
2067    100717911U,	// FMAXSrr
2068    302044193U,	// FMAXV_VPZ_D
2069    302044193U,	// FMAXV_VPZ_H
2070    302044193U,	// FMAXV_VPZ_S
2071    67163169U,	// FMAXVv4i16v
2072    2214646817U,	// FMAXVv4i32v
2073    67163169U,	// FMAXVv8i16v
2074    302011735U,	// FMAX_ZPmI_D
2075    2186310999U,	// FMAX_ZPmI_H
2076    302028119U,	// FMAX_ZPmI_S
2077    302011735U,	// FMAX_ZPmZ_D
2078    2186310999U,	// FMAX_ZPmZ_H
2079    302028119U,	// FMAX_ZPmZ_S
2080    2216211799U,	// FMAXv2f32
2081    2216736087U,	// FMAXv2f64
2082    69776727U,	// FMAXv4f16
2083    70301015U,	// FMAXv4f32
2084    2218308951U,	// FMAXv8f16
2085    100716264U,	// FMINDrr
2086    100716264U,	// FMINHrr
2087    100716211U,	// FMINNMDrr
2088    100716211U,	// FMINNMHrr
2089    2216210446U,	// FMINNMPv2f32
2090    2216734734U,	// FMINNMPv2f64
2091    2214645774U,	// FMINNMPv2i16p
2092    67162126U,	// FMINNMPv2i32p
2093    2214645774U,	// FMINNMPv2i64p
2094    69775374U,	// FMINNMPv4f16
2095    70299662U,	// FMINNMPv4f32
2096    2218307598U,	// FMINNMPv8f16
2097    100716211U,	// FMINNMSrr
2098    302044123U,	// FMINNMV_VPZ_D
2099    302044123U,	// FMINNMV_VPZ_H
2100    302044123U,	// FMINNMV_VPZ_S
2101    67163099U,	// FMINNMVv4i16v
2102    2214646747U,	// FMINNMVv4i32v
2103    67163099U,	// FMINNMVv8i16v
2104    302010035U,	// FMINNM_ZPmI_D
2105    2186309299U,	// FMINNM_ZPmI_H
2106    302026419U,	// FMINNM_ZPmI_S
2107    302010035U,	// FMINNM_ZPmZ_D
2108    2186309299U,	// FMINNM_ZPmZ_H
2109    302026419U,	// FMINNM_ZPmZ_S
2110    2216210099U,	// FMINNMv2f32
2111    2216734387U,	// FMINNMv2f64
2112    69775027U,	// FMINNMv4f16
2113    70299315U,	// FMINNMv4f32
2114    2218307251U,	// FMINNMv8f16
2115    2216210470U,	// FMINPv2f32
2116    2216734758U,	// FMINPv2f64
2117    2214645798U,	// FMINPv2i16p
2118    67162150U,	// FMINPv2i32p
2119    2214645798U,	// FMINPv2i64p
2120    69775398U,	// FMINPv4f16
2121    70299686U,	// FMINPv4f32
2122    2218307622U,	// FMINPv8f16
2123    100716264U,	// FMINSrr
2124    302044141U,	// FMINV_VPZ_D
2125    302044141U,	// FMINV_VPZ_H
2126    302044141U,	// FMINV_VPZ_S
2127    67163117U,	// FMINVv4i16v
2128    2214646765U,	// FMINVv4i32v
2129    67163117U,	// FMINVv8i16v
2130    302010088U,	// FMIN_ZPmI_D
2131    2186309352U,	// FMIN_ZPmI_H
2132    302026472U,	// FMIN_ZPmI_S
2133    302010088U,	// FMIN_ZPmZ_D
2134    2186309352U,	// FMIN_ZPmZ_H
2135    302026472U,	// FMIN_ZPmZ_S
2136    2216210152U,	// FMINv2f32
2137    2216734440U,	// FMINv2f64
2138    69775080U,	// FMINv4f16
2139    70299368U,	// FMINv4f32
2140    2218307304U,	// FMINv8f16
2141    302006968U,	// FMLA_ZPmZZ_D
2142    2186306232U,	// FMLA_ZPmZZ_H
2143    302023352U,	// FMLA_ZPmZZ_S
2144    3019915960U,	// FMLA_ZZZI_D
2145    612393656U,	// FMLA_ZZZI_H
2146    2952823480U,	// FMLA_ZZZI_S
2147    369189560U,	// FMLAv1i16_indexed
2148    369189560U,	// FMLAv1i32_indexed
2149    369189560U,	// FMLAv1i64_indexed
2150    2283332280U,	// FMLAv2f32
2151    2283856568U,	// FMLAv2f64
2152    2283332280U,	// FMLAv2i32_indexed
2153    2283856568U,	// FMLAv2i64_indexed
2154    136897208U,	// FMLAv4f16
2155    137421496U,	// FMLAv4f32
2156    136897208U,	// FMLAv4i16_indexed
2157    137421496U,	// FMLAv4i32_indexed
2158    2285429432U,	// FMLAv8f16
2159    2285429432U,	// FMLAv8i16_indexed
2160    302010962U,	// FMLS_ZPmZZ_D
2161    2186310226U,	// FMLS_ZPmZZ_H
2162    302027346U,	// FMLS_ZPmZZ_S
2163    3019919954U,	// FMLS_ZZZI_D
2164    612397650U,	// FMLS_ZZZI_H
2165    2952827474U,	// FMLS_ZZZI_S
2166    369193554U,	// FMLSv1i16_indexed
2167    369193554U,	// FMLSv1i32_indexed
2168    369193554U,	// FMLSv1i64_indexed
2169    2283336274U,	// FMLSv2f32
2170    2283860562U,	// FMLSv2f64
2171    2283336274U,	// FMLSv2i32_indexed
2172    2283860562U,	// FMLSv2i64_indexed
2173    136901202U,	// FMLSv4f16
2174    137425490U,	// FMLSv4f32
2175    136901202U,	// FMLSv4i16_indexed
2176    137425490U,	// FMLSv4i32_indexed
2177    2285433426U,	// FMLSv8f16
2178    2285433426U,	// FMLSv8i16_indexed
2179    0U,	// FMOVD0
2180    67163145U,	// FMOVDXHighr
2181    2248201225U,	// FMOVDXr
2182    838915081U,	// FMOVDi
2183    2248201225U,	// FMOVDr
2184    0U,	// FMOVH0
2185    2248201225U,	// FMOVHWr
2186    2248201225U,	// FMOVHXr
2187    838915081U,	// FMOVHi
2188    2248201225U,	// FMOVHr
2189    0U,	// FMOVS0
2190    2248201225U,	// FMOVSWr
2191    838915081U,	// FMOVSi
2192    2248201225U,	// FMOVSr
2193    2248201225U,	// FMOVWHr
2194    2248201225U,	// FMOVWSr
2195    2258154505U,	// FMOVXDHighr
2196    2248201225U,	// FMOVXDr
2197    2248201225U,	// FMOVXHr
2198    840479753U,	// FMOVv2f32_ns
2199    841004041U,	// FMOVv2f64_ns
2200    841528329U,	// FMOVv4f16_ns
2201    842052617U,	// FMOVv4f32_ns
2202    842576905U,	// FMOVv8f16_ns
2203    302007876U,	// FMSB_ZPmZZ_D
2204    2186307140U,	// FMSB_ZPmZZ_H
2205    302024260U,	// FMSB_ZPmZZ_S
2206    100714165U,	// FMSUBDrrr
2207    100714165U,	// FMSUBHrrr
2208    100714165U,	// FMSUBSrrr
2209    100716128U,	// FMULDrr
2210    100716128U,	// FMULHrr
2211    100716128U,	// FMULSrr
2212    100717970U,	// FMULX16
2213    100717970U,	// FMULX32
2214    100717970U,	// FMULX64
2215    302011794U,	// FMULX_ZPmZ_D
2216    2186311058U,	// FMULX_ZPmZ_H
2217    302028178U,	// FMULX_ZPmZ_S
2218    100717970U,	// FMULXv1i16_indexed
2219    100717970U,	// FMULXv1i32_indexed
2220    100717970U,	// FMULXv1i64_indexed
2221    2216211858U,	// FMULXv2f32
2222    2216736146U,	// FMULXv2f64
2223    2216211858U,	// FMULXv2i32_indexed
2224    2216736146U,	// FMULXv2i64_indexed
2225    69776786U,	// FMULXv4f16
2226    70301074U,	// FMULXv4f32
2227    69776786U,	// FMULXv4i16_indexed
2228    70301074U,	// FMULXv4i32_indexed
2229    2218309010U,	// FMULXv8f16
2230    2218309010U,	// FMULXv8i16_indexed
2231    302009952U,	// FMUL_ZPmI_D
2232    2186309216U,	// FMUL_ZPmI_H
2233    302026336U,	// FMUL_ZPmI_S
2234    302009952U,	// FMUL_ZPmZ_D
2235    2186309216U,	// FMUL_ZPmZ_H
2236    302026336U,	// FMUL_ZPmZ_S
2237    201346656U,	// FMUL_ZZZI_D
2238    2387111520U,	// FMUL_ZZZI_H
2239    268471904U,	// FMUL_ZZZI_S
2240    201346656U,	// FMUL_ZZZ_D
2241    2387111520U,	// FMUL_ZZZ_H
2242    268471904U,	// FMUL_ZZZ_S
2243    100716128U,	// FMULv1i16_indexed
2244    100716128U,	// FMULv1i32_indexed
2245    100716128U,	// FMULv1i64_indexed
2246    2216210016U,	// FMULv2f32
2247    2216734304U,	// FMULv2f64
2248    2216210016U,	// FMULv2i32_indexed
2249    2216734304U,	// FMULv2i64_indexed
2250    69774944U,	// FMULv4f16
2251    70299232U,	// FMULv4f32
2252    69774944U,	// FMULv4i16_indexed
2253    70299232U,	// FMULv4i32_indexed
2254    2218307168U,	// FMULv8f16
2255    2218307168U,	// FMULv8i16_indexed
2256    2248198419U,	// FNEGDr
2257    2248198419U,	// FNEGHr
2258    2248198419U,	// FNEGSr
2259    18707U,	// FNEG_ZPmZ_D
2260    2181589267U,	// FNEG_ZPmZ_H
2261    35091U,	// FNEG_ZPmZ_S
2262    68725011U,	// FNEGv2f32
2263    2216732947U,	// FNEGv2f64
2264    69773587U,	// FNEGv4f16
2265    2217781523U,	// FNEGv4f32
2266    70822163U,	// FNEGv8f16
2267    100714518U,	// FNMADDDrrr
2268    100714518U,	// FNMADDHrrr
2269    100714518U,	// FNMADDSrrr
2270    302008214U,	// FNMAD_ZPmZZ_D
2271    2186307478U,	// FNMAD_ZPmZZ_H
2272    302024598U,	// FNMAD_ZPmZZ_S
2273    302006974U,	// FNMLA_ZPmZZ_D
2274    2186306238U,	// FNMLA_ZPmZZ_H
2275    302023358U,	// FNMLA_ZPmZZ_S
2276    302010968U,	// FNMLS_ZPmZZ_D
2277    2186310232U,	// FNMLS_ZPmZZ_H
2278    302027352U,	// FNMLS_ZPmZZ_S
2279    302007882U,	// FNMSB_ZPmZZ_D
2280    2186307146U,	// FNMSB_ZPmZZ_H
2281    302024266U,	// FNMSB_ZPmZZ_S
2282    100714172U,	// FNMSUBDrrr
2283    100714172U,	// FNMSUBHrrr
2284    100714172U,	// FNMSUBSrrr
2285    100716134U,	// FNMULDrr
2286    100716134U,	// FNMULHrr
2287    100716134U,	// FNMULSrr
2288    2348828852U,	// FRECPE_ZZ_D
2289    608725172U,	// FRECPE_ZZ_H
2290    2415954100U,	// FRECPE_ZZ_S
2291    2248198324U,	// FRECPEv1f16
2292    2248198324U,	// FRECPEv1i32
2293    2248198324U,	// FRECPEv1i64
2294    68724916U,	// FRECPEv2f32
2295    2216732852U,	// FRECPEv2f64
2296    69773492U,	// FRECPEv4f16
2297    2217781428U,	// FRECPEv4f32
2298    70822068U,	// FRECPEv8f16
2299    100717192U,	// FRECPS16
2300    100717192U,	// FRECPS32
2301    100717192U,	// FRECPS64
2302    201347720U,	// FRECPS_ZZZ_D
2303    2387112584U,	// FRECPS_ZZZ_H
2304    268472968U,	// FRECPS_ZZZ_S
2305    2216211080U,	// FRECPSv2f32
2306    2216735368U,	// FRECPSv2f64
2307    69776008U,	// FRECPSv4f16
2308    70300296U,	// FRECPSv4f32
2309    2218308232U,	// FRECPSv8f16
2310    21913U,	// FRECPX_ZPmZ_D
2311    2181592473U,	// FRECPX_ZPmZ_H
2312    38297U,	// FRECPX_ZPmZ_S
2313    2248201625U,	// FRECPXv1f16
2314    2248201625U,	// FRECPXv1i32
2315    2248201625U,	// FRECPXv1i64
2316    2248196906U,	// FRINTADr
2317    2248196906U,	// FRINTAHr
2318    2248196906U,	// FRINTASr
2319    17194U,	// FRINTA_ZPmZ_D
2320    2181587754U,	// FRINTA_ZPmZ_H
2321    33578U,	// FRINTA_ZPmZ_S
2322    68723498U,	// FRINTAv2f32
2323    2216731434U,	// FRINTAv2f64
2324    69772074U,	// FRINTAv4f16
2325    2217780010U,	// FRINTAv4f32
2326    70820650U,	// FRINTAv8f16
2327    2248199305U,	// FRINTIDr
2328    2248199305U,	// FRINTIHr
2329    2248199305U,	// FRINTISr
2330    19593U,	// FRINTI_ZPmZ_D
2331    2181590153U,	// FRINTI_ZPmZ_H
2332    35977U,	// FRINTI_ZPmZ_S
2333    68725897U,	// FRINTIv2f32
2334    2216733833U,	// FRINTIv2f64
2335    69774473U,	// FRINTIv4f16
2336    2217782409U,	// FRINTIv4f32
2337    70823049U,	// FRINTIv8f16
2338    2248199881U,	// FRINTMDr
2339    2248199881U,	// FRINTMHr
2340    2248199881U,	// FRINTMSr
2341    20169U,	// FRINTM_ZPmZ_D
2342    2181590729U,	// FRINTM_ZPmZ_H
2343    36553U,	// FRINTM_ZPmZ_S
2344    68726473U,	// FRINTMv2f32
2345    2216734409U,	// FRINTMv2f64
2346    69775049U,	// FRINTMv4f16
2347    2217782985U,	// FRINTMv4f32
2348    70823625U,	// FRINTMv8f16
2349    2248199990U,	// FRINTNDr
2350    2248199990U,	// FRINTNHr
2351    2248199990U,	// FRINTNSr
2352    20278U,	// FRINTN_ZPmZ_D
2353    2181590838U,	// FRINTN_ZPmZ_H
2354    36662U,	// FRINTN_ZPmZ_S
2355    68726582U,	// FRINTNv2f32
2356    2216734518U,	// FRINTNv2f64
2357    69775158U,	// FRINTNv4f16
2358    2217783094U,	// FRINTNv4f32
2359    70823734U,	// FRINTNv8f16
2360    2248200275U,	// FRINTPDr
2361    2248200275U,	// FRINTPHr
2362    2248200275U,	// FRINTPSr
2363    20563U,	// FRINTP_ZPmZ_D
2364    2181591123U,	// FRINTP_ZPmZ_H
2365    36947U,	// FRINTP_ZPmZ_S
2366    68726867U,	// FRINTPv2f32
2367    2216734803U,	// FRINTPv2f64
2368    69775443U,	// FRINTPv4f16
2369    2217783379U,	// FRINTPv4f32
2370    70824019U,	// FRINTPv8f16
2371    2248201633U,	// FRINTXDr
2372    2248201633U,	// FRINTXHr
2373    2248201633U,	// FRINTXSr
2374    21921U,	// FRINTX_ZPmZ_D
2375    2181592481U,	// FRINTX_ZPmZ_H
2376    38305U,	// FRINTX_ZPmZ_S
2377    68728225U,	// FRINTXv2f32
2378    2216736161U,	// FRINTXv2f64
2379    69776801U,	// FRINTXv4f16
2380    2217784737U,	// FRINTXv4f32
2381    70825377U,	// FRINTXv8f16
2382    2248201713U,	// FRINTZDr
2383    2248201713U,	// FRINTZHr
2384    2248201713U,	// FRINTZSr
2385    22001U,	// FRINTZ_ZPmZ_D
2386    2181592561U,	// FRINTZ_ZPmZ_H
2387    38385U,	// FRINTZ_ZPmZ_S
2388    68728305U,	// FRINTZv2f32
2389    2216736241U,	// FRINTZv2f64
2390    69776881U,	// FRINTZv4f16
2391    2217784817U,	// FRINTZv4f32
2392    70825457U,	// FRINTZv8f16
2393    2348828897U,	// FRSQRTE_ZZ_D
2394    608725217U,	// FRSQRTE_ZZ_H
2395    2415954145U,	// FRSQRTE_ZZ_S
2396    2248198369U,	// FRSQRTEv1f16
2397    2248198369U,	// FRSQRTEv1i32
2398    2248198369U,	// FRSQRTEv1i64
2399    68724961U,	// FRSQRTEv2f32
2400    2216732897U,	// FRSQRTEv2f64
2401    69773537U,	// FRSQRTEv4f16
2402    2217781473U,	// FRSQRTEv4f32
2403    70822113U,	// FRSQRTEv8f16
2404    100717239U,	// FRSQRTS16
2405    100717239U,	// FRSQRTS32
2406    100717239U,	// FRSQRTS64
2407    201347767U,	// FRSQRTS_ZZZ_D
2408    2387112631U,	// FRSQRTS_ZZZ_H
2409    268473015U,	// FRSQRTS_ZZZ_S
2410    2216211127U,	// FRSQRTSv2f32
2411    2216735415U,	// FRSQRTSv2f64
2412    69776055U,	// FRSQRTSv4f16
2413    70300343U,	// FRSQRTSv4f32
2414    2218308279U,	// FRSQRTSv8f16
2415    302008446U,	// FSCALE_ZPmZ_D
2416    2186307710U,	// FSCALE_ZPmZ_H
2417    302024830U,	// FSCALE_ZPmZ_S
2418    2248201023U,	// FSQRTDr
2419    2248201023U,	// FSQRTHr
2420    2248201023U,	// FSQRTSr
2421    21311U,	// FSQRT_ZPmZ_D
2422    2181591871U,	// FSQRT_ZPmZ_H
2423    37695U,	// FSQRT_ZPmZ_S
2424    68727615U,	// FSQRTv2f32
2425    2216735551U,	// FSQRTv2f64
2426    69776191U,	// FSQRTv4f16
2427    2217784127U,	// FSQRTv4f32
2428    70824767U,	// FSQRTv8f16
2429    100714145U,	// FSUBDrr
2430    100714145U,	// FSUBHrr
2431    302010587U,	// FSUBR_ZPmI_D
2432    2186309851U,	// FSUBR_ZPmI_H
2433    302026971U,	// FSUBR_ZPmI_S
2434    302010587U,	// FSUBR_ZPmZ_D
2435    2186309851U,	// FSUBR_ZPmZ_H
2436    302026971U,	// FSUBR_ZPmZ_S
2437    100714145U,	// FSUBSrr
2438    302007969U,	// FSUB_ZPmI_D
2439    2186307233U,	// FSUB_ZPmI_H
2440    302024353U,	// FSUB_ZPmI_S
2441    302007969U,	// FSUB_ZPmZ_D
2442    2186307233U,	// FSUB_ZPmZ_H
2443    302024353U,	// FSUB_ZPmZ_S
2444    201344673U,	// FSUB_ZZZ_D
2445    2387109537U,	// FSUB_ZZZ_H
2446    268469921U,	// FSUB_ZZZ_S
2447    2216208033U,	// FSUBv2f32
2448    2216732321U,	// FSUBv2f64
2449    69772961U,	// FSUBv4f16
2450    70297249U,	// FSUBv4f32
2451    2218305185U,	// FSUBv8f16
2452    201344925U,	// FTMAD_ZZI_D
2453    2387109789U,	// FTMAD_ZZI_H
2454    268470173U,	// FTMAD_ZZI_S
2455    201346675U,	// FTSMUL_ZZZ_D
2456    2387111539U,	// FTSMUL_ZZZ_H
2457    268471923U,	// FTSMUL_ZZZ_S
2458    201346439U,	// FTSSEL_ZZZ_D
2459    2387111303U,	// FTSSEL_ZZZ_H
2460    268471687U,	// FTSSEL_ZZZ_S
2461    883032940U,	// GLD1B_D_IMM_REAL
2462    379716460U,	// GLD1B_D_REAL
2463    379716460U,	// GLD1B_D_SXTW_REAL
2464    379716460U,	// GLD1B_D_UXTW_REAL
2465    815932268U,	// GLD1B_S_IMM_REAL
2466    379724652U,	// GLD1B_S_SXTW_REAL
2467    379724652U,	// GLD1B_S_UXTW_REAL
2468    883033920U,	// GLD1D_IMM_REAL
2469    379717440U,	// GLD1D_REAL
2470    379717440U,	// GLD1D_SCALED_REAL
2471    379717440U,	// GLD1D_SXTW_REAL
2472    379717440U,	// GLD1D_SXTW_SCALED_REAL
2473    379717440U,	// GLD1D_UXTW_REAL
2474    379717440U,	// GLD1D_UXTW_SCALED_REAL
2475    3030518062U,	// GLD1H_D_IMM_REAL
2476    379717934U,	// GLD1H_D_REAL
2477    379717934U,	// GLD1H_D_SCALED_REAL
2478    379717934U,	// GLD1H_D_SXTW_REAL
2479    379717934U,	// GLD1H_D_SXTW_SCALED_REAL
2480    379717934U,	// GLD1H_D_UXTW_REAL
2481    379717934U,	// GLD1H_D_UXTW_SCALED_REAL
2482    2963417390U,	// GLD1H_S_IMM_REAL
2483    379726126U,	// GLD1H_S_SXTW_REAL
2484    379726126U,	// GLD1H_S_SXTW_SCALED_REAL
2485    379726126U,	// GLD1H_S_UXTW_REAL
2486    379726126U,	// GLD1H_S_UXTW_SCALED_REAL
2487    883033627U,	// GLD1SB_D_IMM_REAL
2488    379717147U,	// GLD1SB_D_REAL
2489    379717147U,	// GLD1SB_D_SXTW_REAL
2490    379717147U,	// GLD1SB_D_UXTW_REAL
2491    815932955U,	// GLD1SB_S_IMM_REAL
2492    379725339U,	// GLD1SB_S_SXTW_REAL
2493    379725339U,	// GLD1SB_S_UXTW_REAL
2494    3030518726U,	// GLD1SH_D_IMM_REAL
2495    379718598U,	// GLD1SH_D_REAL
2496    379718598U,	// GLD1SH_D_SCALED_REAL
2497    379718598U,	// GLD1SH_D_SXTW_REAL
2498    379718598U,	// GLD1SH_D_SXTW_SCALED_REAL
2499    379718598U,	// GLD1SH_D_UXTW_REAL
2500    379718598U,	// GLD1SH_D_UXTW_SCALED_REAL
2501    2963418054U,	// GLD1SH_S_IMM_REAL
2502    379726790U,	// GLD1SH_S_SXTW_REAL
2503    379726790U,	// GLD1SH_S_SXTW_SCALED_REAL
2504    379726790U,	// GLD1SH_S_UXTW_REAL
2505    379726790U,	// GLD1SH_S_UXTW_SCALED_REAL
2506    883037416U,	// GLD1SW_D_IMM_REAL
2507    379720936U,	// GLD1SW_D_REAL
2508    379720936U,	// GLD1SW_D_SCALED_REAL
2509    379720936U,	// GLD1SW_D_SXTW_REAL
2510    379720936U,	// GLD1SW_D_SXTW_SCALED_REAL
2511    379720936U,	// GLD1SW_D_UXTW_REAL
2512    379720936U,	// GLD1SW_D_UXTW_SCALED_REAL
2513    883037238U,	// GLD1W_D_IMM_REAL
2514    379720758U,	// GLD1W_D_REAL
2515    379720758U,	// GLD1W_D_SCALED_REAL
2516    379720758U,	// GLD1W_D_SXTW_REAL
2517    379720758U,	// GLD1W_D_SXTW_SCALED_REAL
2518    379720758U,	// GLD1W_D_UXTW_REAL
2519    379720758U,	// GLD1W_D_UXTW_SCALED_REAL
2520    815936566U,	// GLD1W_IMM_REAL
2521    379728950U,	// GLD1W_SXTW_REAL
2522    379728950U,	// GLD1W_SXTW_SCALED_REAL
2523    379728950U,	// GLD1W_UXTW_REAL
2524    379728950U,	// GLD1W_UXTW_SCALED_REAL
2525    883032946U,	// GLDFF1B_D_IMM_REAL
2526    379716466U,	// GLDFF1B_D_REAL
2527    379716466U,	// GLDFF1B_D_SXTW_REAL
2528    379716466U,	// GLDFF1B_D_UXTW_REAL
2529    815932274U,	// GLDFF1B_S_IMM_REAL
2530    379724658U,	// GLDFF1B_S_SXTW_REAL
2531    379724658U,	// GLDFF1B_S_UXTW_REAL
2532    883033926U,	// GLDFF1D_IMM_REAL
2533    379717446U,	// GLDFF1D_REAL
2534    379717446U,	// GLDFF1D_SCALED_REAL
2535    379717446U,	// GLDFF1D_SXTW_REAL
2536    379717446U,	// GLDFF1D_SXTW_SCALED_REAL
2537    379717446U,	// GLDFF1D_UXTW_REAL
2538    379717446U,	// GLDFF1D_UXTW_SCALED_REAL
2539    3030518068U,	// GLDFF1H_D_IMM_REAL
2540    379717940U,	// GLDFF1H_D_REAL
2541    379717940U,	// GLDFF1H_D_SCALED_REAL
2542    379717940U,	// GLDFF1H_D_SXTW_REAL
2543    379717940U,	// GLDFF1H_D_SXTW_SCALED_REAL
2544    379717940U,	// GLDFF1H_D_UXTW_REAL
2545    379717940U,	// GLDFF1H_D_UXTW_SCALED_REAL
2546    2963417396U,	// GLDFF1H_S_IMM_REAL
2547    379726132U,	// GLDFF1H_S_SXTW_REAL
2548    379726132U,	// GLDFF1H_S_SXTW_SCALED_REAL
2549    379726132U,	// GLDFF1H_S_UXTW_REAL
2550    379726132U,	// GLDFF1H_S_UXTW_SCALED_REAL
2551    883033634U,	// GLDFF1SB_D_IMM_REAL
2552    379717154U,	// GLDFF1SB_D_REAL
2553    379717154U,	// GLDFF1SB_D_SXTW_REAL
2554    379717154U,	// GLDFF1SB_D_UXTW_REAL
2555    815932962U,	// GLDFF1SB_S_IMM_REAL
2556    379725346U,	// GLDFF1SB_S_SXTW_REAL
2557    379725346U,	// GLDFF1SB_S_UXTW_REAL
2558    3030518733U,	// GLDFF1SH_D_IMM_REAL
2559    379718605U,	// GLDFF1SH_D_REAL
2560    379718605U,	// GLDFF1SH_D_SCALED_REAL
2561    379718605U,	// GLDFF1SH_D_SXTW_REAL
2562    379718605U,	// GLDFF1SH_D_SXTW_SCALED_REAL
2563    379718605U,	// GLDFF1SH_D_UXTW_REAL
2564    379718605U,	// GLDFF1SH_D_UXTW_SCALED_REAL
2565    2963418061U,	// GLDFF1SH_S_IMM_REAL
2566    379726797U,	// GLDFF1SH_S_SXTW_REAL
2567    379726797U,	// GLDFF1SH_S_SXTW_SCALED_REAL
2568    379726797U,	// GLDFF1SH_S_UXTW_REAL
2569    379726797U,	// GLDFF1SH_S_UXTW_SCALED_REAL
2570    883037423U,	// GLDFF1SW_D_IMM_REAL
2571    379720943U,	// GLDFF1SW_D_REAL
2572    379720943U,	// GLDFF1SW_D_SCALED_REAL
2573    379720943U,	// GLDFF1SW_D_SXTW_REAL
2574    379720943U,	// GLDFF1SW_D_SXTW_SCALED_REAL
2575    379720943U,	// GLDFF1SW_D_UXTW_REAL
2576    379720943U,	// GLDFF1SW_D_UXTW_SCALED_REAL
2577    883037244U,	// GLDFF1W_D_IMM_REAL
2578    379720764U,	// GLDFF1W_D_REAL
2579    379720764U,	// GLDFF1W_D_SCALED_REAL
2580    379720764U,	// GLDFF1W_D_SXTW_REAL
2581    379720764U,	// GLDFF1W_D_SXTW_SCALED_REAL
2582    379720764U,	// GLDFF1W_D_UXTW_REAL
2583    379720764U,	// GLDFF1W_D_UXTW_SCALED_REAL
2584    815936572U,	// GLDFF1W_IMM_REAL
2585    379728956U,	// GLDFF1W_SXTW_REAL
2586    379728956U,	// GLDFF1W_SXTW_SCALED_REAL
2587    379728956U,	// GLDFF1W_UXTW_REAL
2588    379728956U,	// GLDFF1W_UXTW_SCALED_REAL
2589    152359U,	// HINT
2590    78607U,	// HLT
2591    75574U,	// HVC
2592    536921183U,	// INCB_XPiI
2593    536922063U,	// INCD_XPiI
2594    536889295U,	// INCD_ZPiI
2595    536922647U,	// INCH_XPiI
2596    6842903U,	// INCH_ZPiI
2597    2315308999U,	// INCP_XP_B
2598    2348863431U,	// INCP_XP_D
2599    2717962183U,	// INCP_XP_H
2600    2415972295U,	// INCP_XP_S
2601    2147504071U,	// INCP_ZP_D
2602    604532679U,	// INCP_ZP_H
2603    2147520455U,	// INCP_ZP_S
2604    536925367U,	// INCW_XPiI
2605    536908983U,	// INCW_ZPiI
2606    100676987U,	// INDEX_II_B
2607    100685179U,	// INDEX_II_D
2608    242775419U,	// INDEX_II_H
2609    100701563U,	// INDEX_II_S
2610    100676987U,	// INDEX_IR_B
2611    100685179U,	// INDEX_IR_D
2612    242775419U,	// INDEX_IR_H
2613    100701563U,	// INDEX_IR_S
2614    100676987U,	// INDEX_RI_B
2615    100685179U,	// INDEX_RI_D
2616    242775419U,	// INDEX_RI_H
2617    100701563U,	// INDEX_RI_S
2618    100676987U,	// INDEX_RR_B
2619    100685179U,	// INDEX_RR_D
2620    242775419U,	// INDEX_RR_H
2621    100701563U,	// INDEX_RR_S
2622    2516595051U,	// INSR_ZR_B
2623    2516603243U,	// INSR_ZR_D
2624    615018859U,	// INSR_ZR_H
2625    2516619627U,	// INSR_ZR_S
2626    2516595051U,	// INSR_ZV_B
2627    2516603243U,	// INSR_ZV_D
2628    615018859U,	// INSR_ZV_H
2629    2516619627U,	// INSR_ZV_S
2630    3065049710U,	// INSvi16gpr
2631    951120494U,	// INSvi16lane
2632    3065573998U,	// INSvi32gpr
2633    3099128430U,	// INSvi32lane
2634    3063476846U,	// INSvi64gpr
2635    949547630U,	// INSvi64lane
2636    3066098286U,	// INSvi8gpr
2637    3099652718U,	// INSvi8lane
2638    116287U,	// ISB
2639    302039859U,	// LASTA_RPZ_B
2640    302039859U,	// LASTA_RPZ_D
2641    302039859U,	// LASTA_RPZ_H
2642    302039859U,	// LASTA_RPZ_S
2643    302039859U,	// LASTA_VPZ_B
2644    302039859U,	// LASTA_VPZ_D
2645    302039859U,	// LASTA_VPZ_H
2646    302039859U,	// LASTA_VPZ_S
2647    302040718U,	// LASTB_RPZ_B
2648    302040718U,	// LASTB_RPZ_D
2649    302040718U,	// LASTB_RPZ_H
2650    302040718U,	// LASTB_RPZ_S
2651    302040718U,	// LASTB_VPZ_B
2652    302040718U,	// LASTB_VPZ_D
2653    302040718U,	// LASTB_VPZ_H
2654    302040718U,	// LASTB_VPZ_S
2655    379741036U,	// LD1B
2656    379716460U,	// LD1B_D
2657    379716460U,	// LD1B_D_IMM_REAL
2658    379749228U,	// LD1B_H
2659    379749228U,	// LD1B_H_IMM_REAL
2660    379741036U,	// LD1B_IMM_REAL
2661    379724652U,	// LD1B_S
2662    379724652U,	// LD1B_S_IMM_REAL
2663    379717440U,	// LD1D
2664    379717440U,	// LD1D_IMM_REAL
2665    172064U,	// LD1Fourv16b
2666    13287456U,	// LD1Fourv16b_POST
2667    188448U,	// LD1Fourv1d
2668    13828128U,	// LD1Fourv1d_POST
2669    204832U,	// LD1Fourv2d
2670    13320224U,	// LD1Fourv2d_POST
2671    221216U,	// LD1Fourv2s
2672    13860896U,	// LD1Fourv2s_POST
2673    237600U,	// LD1Fourv4h
2674    13877280U,	// LD1Fourv4h_POST
2675    253984U,	// LD1Fourv4s
2676    13369376U,	// LD1Fourv4s_POST
2677    270368U,	// LD1Fourv8b
2678    13910048U,	// LD1Fourv8b_POST
2679    286752U,	// LD1Fourv8h
2680    13402144U,	// LD1Fourv8h_POST
2681    379750702U,	// LD1H
2682    379717934U,	// LD1H_D
2683    379717934U,	// LD1H_D_IMM_REAL
2684    379750702U,	// LD1H_IMM_REAL
2685    379726126U,	// LD1H_S
2686    379726126U,	// LD1H_S_IMM_REAL
2687    172064U,	// LD1Onev16b
2688    14336032U,	// LD1Onev16b_POST
2689    188448U,	// LD1Onev1d
2690    14876704U,	// LD1Onev1d_POST
2691    204832U,	// LD1Onev2d
2692    14368800U,	// LD1Onev2d_POST
2693    221216U,	// LD1Onev2s
2694    14909472U,	// LD1Onev2s_POST
2695    237600U,	// LD1Onev4h
2696    14925856U,	// LD1Onev4h_POST
2697    253984U,	// LD1Onev4s
2698    14417952U,	// LD1Onev4s_POST
2699    270368U,	// LD1Onev8b
2700    14958624U,	// LD1Onev8b_POST
2701    286752U,	// LD1Onev8h
2702    14450720U,	// LD1Onev8h_POST
2703    379716999U,	// LD1RB_D_IMM
2704    379749767U,	// LD1RB_H_IMM
2705    379741575U,	// LD1RB_IMM
2706    379725191U,	// LD1RB_S_IMM
2707    379717698U,	// LD1RD_IMM
2708    379718450U,	// LD1RH_D_IMM
2709    379751218U,	// LD1RH_IMM
2710    379726642U,	// LD1RH_S_IMM
2711    379741567U,	// LD1RQ_B
2712    379741567U,	// LD1RQ_B_IMM
2713    379717690U,	// LD1RQ_D
2714    379717690U,	// LD1RQ_D_IMM
2715    379751210U,	// LD1RQ_H
2716    379751210U,	// LD1RQ_H_IMM
2717    379729113U,	// LD1RQ_W
2718    379729113U,	// LD1RQ_W_IMM
2719    379717201U,	// LD1RSB_D_IMM
2720    379749969U,	// LD1RSB_H_IMM
2721    379725393U,	// LD1RSB_S_IMM
2722    379718639U,	// LD1RSH_D_IMM
2723    379726831U,	// LD1RSH_S_IMM
2724    379720968U,	// LD1RSW_IMM
2725    379720929U,	// LD1RW_D_IMM
2726    379729121U,	// LD1RW_IMM
2727    176305U,	// LD1Rv16b
2728    15388849U,	// LD1Rv16b_POST
2729    192689U,	// LD1Rv1d
2730    14880945U,	// LD1Rv1d_POST
2731    209073U,	// LD1Rv2d
2732    14897329U,	// LD1Rv2d_POST
2733    225457U,	// LD1Rv2s
2734    15962289U,	// LD1Rv2s_POST
2735    241841U,	// LD1Rv4h
2736    16502961U,	// LD1Rv4h_POST
2737    258225U,	// LD1Rv4s
2738    15995057U,	// LD1Rv4s_POST
2739    274609U,	// LD1Rv8b
2740    15487153U,	// LD1Rv8b_POST
2741    290993U,	// LD1Rv8h
2742    16552113U,	// LD1Rv8h_POST
2743    379717147U,	// LD1SB_D
2744    379717147U,	// LD1SB_D_IMM_REAL
2745    379749915U,	// LD1SB_H
2746    379749915U,	// LD1SB_H_IMM_REAL
2747    379725339U,	// LD1SB_S
2748    379725339U,	// LD1SB_S_IMM_REAL
2749    379718598U,	// LD1SH_D
2750    379718598U,	// LD1SH_D_IMM_REAL
2751    379726790U,	// LD1SH_S
2752    379726790U,	// LD1SH_S_IMM_REAL
2753    379720936U,	// LD1SW_D
2754    379720936U,	// LD1SW_D_IMM_REAL
2755    172064U,	// LD1Threev16b
2756    16957472U,	// LD1Threev16b_POST
2757    188448U,	// LD1Threev1d
2758    17498144U,	// LD1Threev1d_POST
2759    204832U,	// LD1Threev2d
2760    16990240U,	// LD1Threev2d_POST
2761    221216U,	// LD1Threev2s
2762    17530912U,	// LD1Threev2s_POST
2763    237600U,	// LD1Threev4h
2764    17547296U,	// LD1Threev4h_POST
2765    253984U,	// LD1Threev4s
2766    17039392U,	// LD1Threev4s_POST
2767    270368U,	// LD1Threev8b
2768    17580064U,	// LD1Threev8b_POST
2769    286752U,	// LD1Threev8h
2770    17072160U,	// LD1Threev8h_POST
2771    172064U,	// LD1Twov16b
2772    13811744U,	// LD1Twov16b_POST
2773    188448U,	// LD1Twov1d
2774    14352416U,	// LD1Twov1d_POST
2775    204832U,	// LD1Twov2d
2776    13844512U,	// LD1Twov2d_POST
2777    221216U,	// LD1Twov2s
2778    14385184U,	// LD1Twov2s_POST
2779    237600U,	// LD1Twov4h
2780    14401568U,	// LD1Twov4h_POST
2781    253984U,	// LD1Twov4s
2782    13893664U,	// LD1Twov4s_POST
2783    270368U,	// LD1Twov8b
2784    14434336U,	// LD1Twov8b_POST
2785    286752U,	// LD1Twov8h
2786    13926432U,	// LD1Twov8h_POST
2787    379728950U,	// LD1W
2788    379720758U,	// LD1W_D
2789    379720758U,	// LD1W_D_IMM_REAL
2790    379728950U,	// LD1W_IMM_REAL
2791    18128928U,	// LD1i16
2792    18661408U,	// LD1i16_POST
2793    18145312U,	// LD1i32
2794    19202080U,	// LD1i32_POST
2795    18161696U,	// LD1i64
2796    19742752U,	// LD1i64_POST
2797    18178080U,	// LD1i8
2798    20283424U,	// LD1i8_POST
2799    379741097U,	// LD2B
2800    379741097U,	// LD2B_IMM
2801    379717484U,	// LD2D
2802    379717484U,	// LD2D_IMM
2803    379750763U,	// LD2H
2804    379750763U,	// LD2H_IMM
2805    176311U,	// LD2Rv16b
2806    16437431U,	// LD2Rv16b_POST
2807    192695U,	// LD2Rv1d
2808    14356663U,	// LD2Rv1d_POST
2809    209079U,	// LD2Rv2d
2810    14373047U,	// LD2Rv2d_POST
2811    225463U,	// LD2Rv2s
2812    14913719U,	// LD2Rv2s_POST
2813    241847U,	// LD2Rv4h
2814    15978679U,	// LD2Rv4h_POST
2815    258231U,	// LD2Rv4s
2816    14946487U,	// LD2Rv4s_POST
2817    274615U,	// LD2Rv8b
2818    16535735U,	// LD2Rv8b_POST
2819    290999U,	// LD2Rv8h
2820    16027831U,	// LD2Rv8h_POST
2821    172162U,	// LD2Twov16b
2822    13811842U,	// LD2Twov16b_POST
2823    204930U,	// LD2Twov2d
2824    13844610U,	// LD2Twov2d_POST
2825    221314U,	// LD2Twov2s
2826    14385282U,	// LD2Twov2s_POST
2827    237698U,	// LD2Twov4h
2828    14401666U,	// LD2Twov4h_POST
2829    254082U,	// LD2Twov4s
2830    13893762U,	// LD2Twov4s_POST
2831    270466U,	// LD2Twov8b
2832    14434434U,	// LD2Twov8b_POST
2833    286850U,	// LD2Twov8h
2834    13926530U,	// LD2Twov8h_POST
2835    379729002U,	// LD2W
2836    379729002U,	// LD2W_IMM
2837    18129026U,	// LD2i16
2838    19185794U,	// LD2i16_POST
2839    18145410U,	// LD2i32
2840    19726466U,	// LD2i32_POST
2841    18161794U,	// LD2i64
2842    20791426U,	// LD2i64_POST
2843    18178178U,	// LD2i8
2844    18710658U,	// LD2i8_POST
2845    379741118U,	// LD3B
2846    379741118U,	// LD3B_IMM
2847    379717496U,	// LD3D
2848    379717496U,	// LD3D_IMM
2849    379750775U,	// LD3H
2850    379750775U,	// LD3H_IMM
2851    176317U,	// LD3Rv16b
2852    21156029U,	// LD3Rv16b_POST
2853    192701U,	// LD3Rv1d
2854    17502397U,	// LD3Rv1d_POST
2855    209085U,	// LD3Rv2d
2856    17518781U,	// LD3Rv2d_POST
2857    225469U,	// LD3Rv2s
2858    21729469U,	// LD3Rv2s_POST
2859    241853U,	// LD3Rv4h
2860    22270141U,	// LD3Rv4h_POST
2861    258237U,	// LD3Rv4s
2862    21762237U,	// LD3Rv4s_POST
2863    274621U,	// LD3Rv8b
2864    21254333U,	// LD3Rv8b_POST
2865    291005U,	// LD3Rv8h
2866    22319293U,	// LD3Rv8h_POST
2867    172553U,	// LD3Threev16b
2868    16957961U,	// LD3Threev16b_POST
2869    205321U,	// LD3Threev2d
2870    16990729U,	// LD3Threev2d_POST
2871    221705U,	// LD3Threev2s
2872    17531401U,	// LD3Threev2s_POST
2873    238089U,	// LD3Threev4h
2874    17547785U,	// LD3Threev4h_POST
2875    254473U,	// LD3Threev4s
2876    17039881U,	// LD3Threev4s_POST
2877    270857U,	// LD3Threev8b
2878    17580553U,	// LD3Threev8b_POST
2879    287241U,	// LD3Threev8h
2880    17072649U,	// LD3Threev8h_POST
2881    379729014U,	// LD3W
2882    379729014U,	// LD3W_IMM
2883    18129417U,	// LD3i16
2884    22856201U,	// LD3i16_POST
2885    18145801U,	// LD3i32
2886    23396873U,	// LD3i32_POST
2887    18162185U,	// LD3i64
2888    23937545U,	// LD3i64_POST
2889    18178569U,	// LD3i8
2890    24478217U,	// LD3i8_POST
2891    379741130U,	// LD4B
2892    379741130U,	// LD4B_IMM
2893    379717508U,	// LD4D
2894    379717508U,	// LD4D_IMM
2895    172583U,	// LD4Fourv16b
2896    13287975U,	// LD4Fourv16b_POST
2897    205351U,	// LD4Fourv2d
2898    13320743U,	// LD4Fourv2d_POST
2899    221735U,	// LD4Fourv2s
2900    13861415U,	// LD4Fourv2s_POST
2901    238119U,	// LD4Fourv4h
2902    13877799U,	// LD4Fourv4h_POST
2903    254503U,	// LD4Fourv4s
2904    13369895U,	// LD4Fourv4s_POST
2905    270887U,	// LD4Fourv8b
2906    13910567U,	// LD4Fourv8b_POST
2907    287271U,	// LD4Fourv8h
2908    13402663U,	// LD4Fourv8h_POST
2909    379750787U,	// LD4H
2910    379750787U,	// LD4H_IMM
2911    176323U,	// LD4Rv16b
2912    15913155U,	// LD4Rv16b_POST
2913    192707U,	// LD4Rv1d
2914    13832387U,	// LD4Rv1d_POST
2915    209091U,	// LD4Rv2d
2916    13848771U,	// LD4Rv2d_POST
2917    225475U,	// LD4Rv2s
2918    14389443U,	// LD4Rv2s_POST
2919    241859U,	// LD4Rv4h
2920    14930115U,	// LD4Rv4h_POST
2921    258243U,	// LD4Rv4s
2922    14422211U,	// LD4Rv4s_POST
2923    274627U,	// LD4Rv8b
2924    16011459U,	// LD4Rv8b_POST
2925    291011U,	// LD4Rv8h
2926    14979267U,	// LD4Rv8h_POST
2927    379729026U,	// LD4W
2928    379729026U,	// LD4W_IMM
2929    18129447U,	// LD4i16
2930    19710503U,	// LD4i16_POST
2931    18145831U,	// LD4i32
2932    20775463U,	// LD4i32_POST
2933    18162215U,	// LD4i64
2934    24986151U,	// LD4i64_POST
2935    18178599U,	// LD4i8
2936    19235367U,	// LD4i8_POST
2937    973169622U,	// LDADDAB
2938    973171096U,	// LDADDAH
2939    973169821U,	// LDADDALB
2940    973171251U,	// LDADDALH
2941    973171888U,	// LDADDALW
2942    973171888U,	// LDADDALX
2943    973169280U,	// LDADDAW
2944    973169280U,	// LDADDAX
2945    973169780U,	// LDADDB
2946    973171237U,	// LDADDH
2947    973169921U,	// LDADDLB
2948    973171351U,	// LDADDLH
2949    973172058U,	// LDADDLW
2950    973172058U,	// LDADDLX
2951    973170660U,	// LDADDW
2952    973170660U,	// LDADDX
2953    2253964738U,	// LDAPRB
2954    2253966189U,	// LDAPRH
2955    2253967684U,	// LDAPRW
2956    2253967684U,	// LDAPRX
2957    106481133U,	// LDAPURBi
2958    106482584U,	// LDAPURHi
2959    106481264U,	// LDAPURSBWi
2960    106481264U,	// LDAPURSBXi
2961    106482702U,	// LDAPURSHWi
2962    106482702U,	// LDAPURSHXi
2963    106485031U,	// LDAPURSWi
2964    106484117U,	// LDAPURXi
2965    106484117U,	// LDAPURi
2966    2253964686U,	// LDARB
2967    2253966137U,	// LDARH
2968    2253967561U,	// LDARW
2969    2253967561U,	// LDARX
2970    2248200299U,	// LDAXPW
2971    2248200299U,	// LDAXPX
2972    2253964797U,	// LDAXRB
2973    2253966248U,	// LDAXRH
2974    2253967800U,	// LDAXRW
2975    2253967800U,	// LDAXRX
2976    973169678U,	// LDCLRAB
2977    973171142U,	// LDCLRAH
2978    973169861U,	// LDCLRALB
2979    973171291U,	// LDCLRALH
2980    973171955U,	// LDCLRALW
2981    973171955U,	// LDCLRALX
2982    973169394U,	// LDCLRAW
2983    973169394U,	// LDCLRAX
2984    973170083U,	// LDCLRB
2985    973171534U,	// LDCLRH
2986    973169957U,	// LDCLRLB
2987    973171387U,	// LDCLRLH
2988    973172249U,	// LDCLRLW
2989    973172249U,	// LDCLRLX
2990    973173017U,	// LDCLRW
2991    973173017U,	// LDCLRX
2992    973169687U,	// LDEORAB
2993    973171151U,	// LDEORAH
2994    973169871U,	// LDEORALB
2995    973171301U,	// LDEORALH
2996    973171964U,	// LDEORALW
2997    973171964U,	// LDEORALX
2998    973169402U,	// LDEORAW
2999    973169402U,	// LDEORAX
3000    973170106U,	// LDEORB
3001    973171557U,	// LDEORH
3002    973169966U,	// LDEORLB
3003    973171396U,	// LDEORLH
3004    973172257U,	// LDEORLW
3005    973172257U,	// LDEORLX
3006    973173043U,	// LDEORW
3007    973173043U,	// LDEORX
3008    379716466U,	// LDFF1B_D_REAL
3009    379749234U,	// LDFF1B_H_REAL
3010    379741042U,	// LDFF1B_REAL
3011    379724658U,	// LDFF1B_S_REAL
3012    379717446U,	// LDFF1D_REAL
3013    379717940U,	// LDFF1H_D_REAL
3014    379750708U,	// LDFF1H_REAL
3015    379726132U,	// LDFF1H_S_REAL
3016    379717154U,	// LDFF1SB_D_REAL
3017    379749922U,	// LDFF1SB_H_REAL
3018    379725346U,	// LDFF1SB_S_REAL
3019    379718605U,	// LDFF1SH_D_REAL
3020    379726797U,	// LDFF1SH_S_REAL
3021    379720943U,	// LDFF1SW_D_REAL
3022    379720764U,	// LDFF1W_D_REAL
3023    379728956U,	// LDFF1W_REAL
3024    2253964693U,	// LDLARB
3025    2253966144U,	// LDLARH
3026    2253967567U,	// LDLARW
3027    2253967567U,	// LDLARX
3028    379716474U,	// LDNF1B_D_IMM_REAL
3029    379749242U,	// LDNF1B_H_IMM_REAL
3030    379741050U,	// LDNF1B_IMM_REAL
3031    379724666U,	// LDNF1B_S_IMM_REAL
3032    379717454U,	// LDNF1D_IMM_REAL
3033    379717948U,	// LDNF1H_D_IMM_REAL
3034    379750716U,	// LDNF1H_IMM_REAL
3035    379726140U,	// LDNF1H_S_IMM_REAL
3036    379717163U,	// LDNF1SB_D_IMM_REAL
3037    379749931U,	// LDNF1SB_H_IMM_REAL
3038    379725355U,	// LDNF1SB_S_IMM_REAL
3039    379718614U,	// LDNF1SH_D_IMM_REAL
3040    379726806U,	// LDNF1SH_S_IMM_REAL
3041    379720952U,	// LDNF1SW_D_IMM_REAL
3042    379720772U,	// LDNF1W_D_IMM_REAL
3043    379728964U,	// LDNF1W_IMM_REAL
3044    2248200224U,	// LDNPDi
3045    2248200224U,	// LDNPQi
3046    2248200224U,	// LDNPSi
3047    2248200224U,	// LDNPWi
3048    2248200224U,	// LDNPXi
3049    379741058U,	// LDNT1B_ZRI
3050    379741058U,	// LDNT1B_ZRR
3051    379717462U,	// LDNT1D_ZRI
3052    379717462U,	// LDNT1D_ZRR
3053    379750724U,	// LDNT1H_ZRI
3054    379750724U,	// LDNT1H_ZRR
3055    379728972U,	// LDNT1W_ZRI
3056    379728972U,	// LDNT1W_ZRR
3057    2248200156U,	// LDPDi
3058    2516676572U,	// LDPDpost
3059    2516676572U,	// LDPDpre
3060    2248200156U,	// LDPQi
3061    2516676572U,	// LDPQpost
3062    2516676572U,	// LDPQpre
3063    2248201473U,	// LDPSWi
3064    2516677889U,	// LDPSWpost
3065    2516677889U,	// LDPSWpre
3066    2248200156U,	// LDPSi
3067    2516676572U,	// LDPSpost
3068    2516676572U,	// LDPSpre
3069    2248200156U,	// LDPWi
3070    2516676572U,	// LDPWpost
3071    2516676572U,	// LDPWpre
3072    2248200156U,	// LDPXi
3073    2516676572U,	// LDPXpost
3074    2516676572U,	// LDPXpre
3075    106480223U,	// LDRAAindexed
3076    374956639U,	// LDRAAwriteback
3077    106480640U,	// LDRABindexed
3078    374957056U,	// LDRABwriteback
3079    374957469U,	// LDRBBpost
3080    374957469U,	// LDRBBpre
3081    106481053U,	// LDRBBroW
3082    106481053U,	// LDRBBroX
3083    106481053U,	// LDRBBui
3084    374960359U,	// LDRBpost
3085    374960359U,	// LDRBpre
3086    106483943U,	// LDRBroW
3087    106483943U,	// LDRBroX
3088    106483943U,	// LDRBui
3089    436261095U,	// LDRDl
3090    374960359U,	// LDRDpost
3091    374960359U,	// LDRDpre
3092    106483943U,	// LDRDroW
3093    106483943U,	// LDRDroX
3094    106483943U,	// LDRDui
3095    374958920U,	// LDRHHpost
3096    374958920U,	// LDRHHpre
3097    106482504U,	// LDRHHroW
3098    106482504U,	// LDRHHroX
3099    106482504U,	// LDRHHui
3100    374960359U,	// LDRHpost
3101    374960359U,	// LDRHpre
3102    106483943U,	// LDRHroW
3103    106483943U,	// LDRHroX
3104    106483943U,	// LDRHui
3105    436261095U,	// LDRQl
3106    374960359U,	// LDRQpost
3107    374960359U,	// LDRQpre
3108    106483943U,	// LDRQroW
3109    106483943U,	// LDRQroX
3110    106483943U,	// LDRQui
3111    374957657U,	// LDRSBWpost
3112    374957657U,	// LDRSBWpre
3113    106481241U,	// LDRSBWroW
3114    106481241U,	// LDRSBWroX
3115    106481241U,	// LDRSBWui
3116    374957657U,	// LDRSBXpost
3117    374957657U,	// LDRSBXpre
3118    106481241U,	// LDRSBXroW
3119    106481241U,	// LDRSBXroX
3120    106481241U,	// LDRSBXui
3121    374959095U,	// LDRSHWpost
3122    374959095U,	// LDRSHWpre
3123    106482679U,	// LDRSHWroW
3124    106482679U,	// LDRSHWroX
3125    106482679U,	// LDRSHWui
3126    374959095U,	// LDRSHXpost
3127    374959095U,	// LDRSHXpre
3128    106482679U,	// LDRSHXroW
3129    106482679U,	// LDRSHXroX
3130    106482679U,	// LDRSHXui
3131    436262160U,	// LDRSWl
3132    374961424U,	// LDRSWpost
3133    374961424U,	// LDRSWpre
3134    106485008U,	// LDRSWroW
3135    106485008U,	// LDRSWroX
3136    106485008U,	// LDRSWui
3137    436261095U,	// LDRSl
3138    374960359U,	// LDRSpost
3139    374960359U,	// LDRSpre
3140    106483943U,	// LDRSroW
3141    106483943U,	// LDRSroX
3142    106483943U,	// LDRSui
3143    436261095U,	// LDRWl
3144    374960359U,	// LDRWpost
3145    374960359U,	// LDRWpre
3146    106483943U,	// LDRWroW
3147    106483943U,	// LDRWroX
3148    106483943U,	// LDRWui
3149    436261095U,	// LDRXl
3150    374960359U,	// LDRXpost
3151    374960359U,	// LDRXpre
3152    106483943U,	// LDRXroW
3153    106483943U,	// LDRXroX
3154    106483943U,	// LDRXui
3155    106803431U,	// LDR_PXI
3156    106803431U,	// LDR_ZXI
3157    973169703U,	// LDSETAB
3158    973171167U,	// LDSETAH
3159    973169889U,	// LDSETALB
3160    973171319U,	// LDSETALH
3161    973171980U,	// LDSETALW
3162    973171980U,	// LDSETALX
3163    973169442U,	// LDSETAW
3164    973169442U,	// LDSETAX
3165    973170303U,	// LDSETB
3166    973171736U,	// LDSETH
3167    973169982U,	// LDSETLB
3168    973171412U,	// LDSETLH
3169    973172305U,	// LDSETLW
3170    973172305U,	// LDSETLX
3171    973173476U,	// LDSETW
3172    973173476U,	// LDSETX
3173    973169712U,	// LDSMAXAB
3174    973171176U,	// LDSMAXAH
3175    973169899U,	// LDSMAXALB
3176    973171329U,	// LDSMAXALH
3177    973171989U,	// LDSMAXALW
3178    973171989U,	// LDSMAXALX
3179    973169466U,	// LDSMAXAW
3180    973169466U,	// LDSMAXAX
3181    973170392U,	// LDSMAXB
3182    973171768U,	// LDSMAXH
3183    973169991U,	// LDSMAXLB
3184    973171454U,	// LDSMAXLH
3185    973172360U,	// LDSMAXLW
3186    973172360U,	// LDSMAXLX
3187    973174109U,	// LDSMAXW
3188    973174109U,	// LDSMAXX
3189    973169631U,	// LDSMINAB
3190    973171115U,	// LDSMINAH
3191    973169831U,	// LDSMINALB
3192    973171261U,	// LDSMINALH
3193    973171920U,	// LDSMINALW
3194    973171920U,	// LDSMINALX
3195    973169349U,	// LDSMINAW
3196    973169349U,	// LDSMINAX
3197    973170016U,	// LDSMINB
3198    973171474U,	// LDSMINH
3199    973169930U,	// LDSMINLB
3200    973171360U,	// LDSMINLH
3201    973172211U,	// LDSMINLW
3202    973172211U,	// LDSMINLX
3203    973172462U,	// LDSMINW
3204    973172462U,	// LDSMINX
3205    106481098U,	// LDTRBi
3206    106482549U,	// LDTRHi
3207    106481248U,	// LDTRSBWi
3208    106481248U,	// LDTRSBXi
3209    106482686U,	// LDTRSHWi
3210    106482686U,	// LDTRSHXi
3211    106485015U,	// LDTRSWi
3212    106484081U,	// LDTRWi
3213    106484081U,	// LDTRXi
3214    973169722U,	// LDUMAXAB
3215    973171186U,	// LDUMAXAH
3216    973169910U,	// LDUMAXALB
3217    973171340U,	// LDUMAXALH
3218    973171999U,	// LDUMAXALW
3219    973171999U,	// LDUMAXALX
3220    973169475U,	// LDUMAXAW
3221    973169475U,	// LDUMAXAX
3222    973170401U,	// LDUMAXB
3223    973171777U,	// LDUMAXH
3224    973170001U,	// LDUMAXLB
3225    973171464U,	// LDUMAXLH
3226    973172369U,	// LDUMAXLW
3227    973172369U,	// LDUMAXLX
3228    973174117U,	// LDUMAXW
3229    973174117U,	// LDUMAXX
3230    973169641U,	// LDUMINAB
3231    973171125U,	// LDUMINAH
3232    973169842U,	// LDUMINALB
3233    973171272U,	// LDUMINALH
3234    973171930U,	// LDUMINALW
3235    973171930U,	// LDUMINALX
3236    973169358U,	// LDUMINAW
3237    973169358U,	// LDUMINAX
3238    973170025U,	// LDUMINB
3239    973171483U,	// LDUMINH
3240    973169940U,	// LDUMINLB
3241    973171370U,	// LDUMINLH
3242    973172220U,	// LDUMINLW
3243    973172220U,	// LDUMINLX
3244    973172470U,	// LDUMINW
3245    973172470U,	// LDUMINX
3246    106481118U,	// LDURBBi
3247    106484104U,	// LDURBi
3248    106484104U,	// LDURDi
3249    106482569U,	// LDURHHi
3250    106484104U,	// LDURHi
3251    106484104U,	// LDURQi
3252    106481256U,	// LDURSBWi
3253    106481256U,	// LDURSBXi
3254    106482694U,	// LDURSHWi
3255    106482694U,	// LDURSHXi
3256    106485023U,	// LDURSWi
3257    106484104U,	// LDURSi
3258    106484104U,	// LDURWi
3259    106484104U,	// LDURXi
3260    2248200327U,	// LDXPW
3261    2248200327U,	// LDXPX
3262    2253964805U,	// LDXRB
3263    2253966256U,	// LDXRH
3264    2253967807U,	// LDXRW
3265    2253967807U,	// LDXRX
3266    0U,	// LOADgot
3267    302002471U,	// LSLR_ZPmZ_B
3268    302010663U,	// LSLR_ZPmZ_D
3269    2186309927U,	// LSLR_ZPmZ_H
3270    302027047U,	// LSLR_ZPmZ_S
3271    100716088U,	// LSLVWr
3272    100716088U,	// LSLVXr
3273    302001720U,	// LSL_WIDE_ZPmZ_B
3274    2186309176U,	// LSL_WIDE_ZPmZ_H
3275    302026296U,	// LSL_WIDE_ZPmZ_S
3276    167783992U,	// LSL_WIDE_ZZZ_B
3277    2387111480U,	// LSL_WIDE_ZZZ_H
3278    268471864U,	// LSL_WIDE_ZZZ_S
3279    302001720U,	// LSL_ZPmI_B
3280    302009912U,	// LSL_ZPmI_D
3281    2186309176U,	// LSL_ZPmI_H
3282    302026296U,	// LSL_ZPmI_S
3283    302001720U,	// LSL_ZPmZ_B
3284    302009912U,	// LSL_ZPmZ_D
3285    2186309176U,	// LSL_ZPmZ_H
3286    302026296U,	// LSL_ZPmZ_S
3287    167783992U,	// LSL_ZZI_B
3288    201346616U,	// LSL_ZZI_D
3289    239627832U,	// LSL_ZZI_H
3290    268471864U,	// LSL_ZZI_S
3291    302002518U,	// LSRR_ZPmZ_B
3292    302010710U,	// LSRR_ZPmZ_D
3293    2186309974U,	// LSRR_ZPmZ_H
3294    302027094U,	// LSRR_ZPmZ_S
3295    100716897U,	// LSRVWr
3296    100716897U,	// LSRVXr
3297    302002529U,	// LSR_WIDE_ZPmZ_B
3298    2186309985U,	// LSR_WIDE_ZPmZ_H
3299    302027105U,	// LSR_WIDE_ZPmZ_S
3300    167784801U,	// LSR_WIDE_ZZZ_B
3301    2387112289U,	// LSR_WIDE_ZZZ_H
3302    268472673U,	// LSR_WIDE_ZZZ_S
3303    302002529U,	// LSR_ZPmI_B
3304    302010721U,	// LSR_ZPmI_D
3305    2186309985U,	// LSR_ZPmI_H
3306    302027105U,	// LSR_ZPmI_S
3307    302002529U,	// LSR_ZPmZ_B
3308    302010721U,	// LSR_ZPmZ_D
3309    2186309985U,	// LSR_ZPmZ_H
3310    302027105U,	// LSR_ZPmZ_S
3311    167784801U,	// LSR_ZZI_B
3312    201347425U,	// LSR_ZZI_D
3313    239628641U,	// LSR_ZZI_H
3314    268472673U,	// LSR_ZZI_S
3315    100714512U,	// MADDWrrr
3316    100714512U,	// MADDXrrr
3317    302000017U,	// MAD_ZPmZZ_B
3318    302008209U,	// MAD_ZPmZZ_D
3319    2186307473U,	// MAD_ZPmZZ_H
3320    302024593U,	// MAD_ZPmZZ_S
3321    301998771U,	// MLA_ZPmZZ_B
3322    302006963U,	// MLA_ZPmZZ_D
3323    2186306227U,	// MLA_ZPmZZ_H
3324    302023347U,	// MLA_ZPmZZ_S
3325    135324339U,	// MLAv16i8
3326    2283332275U,	// MLAv2i32
3327    2283332275U,	// MLAv2i32_indexed
3328    136897203U,	// MLAv4i16
3329    136897203U,	// MLAv4i16_indexed
3330    137421491U,	// MLAv4i32
3331    137421491U,	// MLAv4i32_indexed
3332    2285429427U,	// MLAv8i16
3333    2285429427U,	// MLAv8i16_indexed
3334    2285953715U,	// MLAv8i8
3335    302002771U,	// MLS_ZPmZZ_B
3336    302010963U,	// MLS_ZPmZZ_D
3337    2186310227U,	// MLS_ZPmZZ_H
3338    302027347U,	// MLS_ZPmZZ_S
3339    135328339U,	// MLSv16i8
3340    2283336275U,	// MLSv2i32
3341    2283336275U,	// MLSv2i32_indexed
3342    136901203U,	// MLSv4i16
3343    136901203U,	// MLSv4i16_indexed
3344    137425491U,	// MLSv4i32
3345    137425491U,	// MLSv4i32_indexed
3346    2285433427U,	// MLSv8i16
3347    2285433427U,	// MLSv8i16_indexed
3348    2285957715U,	// MLSv8i8
3349    1006685329U,	// MOVID
3350    3188763793U,	// MOVIv16b_ns
3351    1008774289U,	// MOVIv2d_ns
3352    3189288081U,	// MOVIv2i32
3353    3189288081U,	// MOVIv2s_msl
3354    3190336657U,	// MOVIv4i16
3355    3190860945U,	// MOVIv4i32
3356    3190860945U,	// MOVIv4s_msl
3357    3191909521U,	// MOVIv8b_ns
3358    3191385233U,	// MOVIv8i16
3359    402705564U,	// MOVKWi
3360    402705564U,	// MOVKXi
3361    3187724142U,	// MOVNWi
3362    3187724142U,	// MOVNXi
3363    13705U,	// MOVPRFX_ZPmZ_B
3364    21897U,	// MOVPRFX_ZPmZ_D
3365    2181592457U,	// MOVPRFX_ZPmZ_H
3366    38281U,	// MOVPRFX_ZPmZ_S
3367    302003593U,	// MOVPRFX_ZPzZ_B
3368    302011785U,	// MOVPRFX_ZPzZ_D
3369    2622518665U,	// MOVPRFX_ZPzZ_H
3370    302028169U,	// MOVPRFX_ZPzZ_S
3371    2449847689U,	// MOVPRFX_ZZ
3372    3187725817U,	// MOVZWi
3373    3187725817U,	// MOVZXi
3374    0U,	// MOVaddr
3375    0U,	// MOVaddrBA
3376    0U,	// MOVaddrCP
3377    0U,	// MOVaddrEXT
3378    0U,	// MOVaddrJT
3379    0U,	// MOVaddrTLS
3380    0U,	// MOVbaseTLS
3381    0U,	// MOVi32imm
3382    0U,	// MOVi64imm
3383    1073795744U,	// MRS
3384    301999685U,	// MSB_ZPmZZ_B
3385    302007877U,	// MSB_ZPmZZ_D
3386    2186307141U,	// MSB_ZPmZZ_H
3387    302024261U,	// MSB_ZPmZZ_S
3388    381286U,	// MSR
3389    389478U,	// MSRpstateImm1
3390    389478U,	// MSRpstateImm4
3391    100714166U,	// MSUBWrrr
3392    100714166U,	// MSUBXrrr
3393    167784033U,	// MUL_ZI_B
3394    201346657U,	// MUL_ZI_D
3395    239627873U,	// MUL_ZI_H
3396    268471905U,	// MUL_ZI_S
3397    302001761U,	// MUL_ZPmZ_B
3398    302009953U,	// MUL_ZPmZ_D
3399    2186309217U,	// MUL_ZPmZ_H
3400    302026337U,	// MUL_ZPmZ_S
3401    68202081U,	// MULv16i8
3402    2216210017U,	// MULv2i32
3403    2216210017U,	// MULv2i32_indexed
3404    69774945U,	// MULv4i16
3405    69774945U,	// MULv4i16_indexed
3406    70299233U,	// MULv4i32
3407    70299233U,	// MULv4i32_indexed
3408    2218307169U,	// MULv8i16
3409    2218307169U,	// MULv8i16_indexed
3410    2218831457U,	// MULv8i8
3411    3189288062U,	// MVNIv2i32
3412    3189288062U,	// MVNIv2s_msl
3413    3190336638U,	// MVNIv4i16
3414    3190860926U,	// MVNIv4i32
3415    3190860926U,	// MVNIv4s_msl
3416    3191385214U,	// MVNIv8i16
3417    302002728U,	// NANDS_PPzPP
3418    302000180U,	// NAND_PPzPP
3419    10516U,	// NEG_ZPmZ_B
3420    18708U,	// NEG_ZPmZ_D
3421    2181589268U,	// NEG_ZPmZ_H
3422    35092U,	// NEG_ZPmZ_S
3423    68200724U,	// NEGv16i8
3424    2248198420U,	// NEGv1i64
3425    68725012U,	// NEGv2i32
3426    2216732948U,	// NEGv2i64
3427    69773588U,	// NEGv4i16
3428    2217781524U,	// NEGv4i32
3429    70822164U,	// NEGv8i16
3430    2218830100U,	// NEGv8i8
3431    302002859U,	// NORS_PPzPP
3432    302002490U,	// NOR_PPzPP
3433    13114U,	// NOT_ZPmZ_B
3434    21306U,	// NOT_ZPmZ_D
3435    2181591866U,	// NOT_ZPmZ_H
3436    37690U,	// NOT_ZPmZ_S
3437    68203322U,	// NOTv16i8
3438    2218832698U,	// NOTv8i8
3439    302002810U,	// ORNS_PPzPP
3440    0U,	// ORNWrr
3441    100716337U,	// ORNWrs
3442    0U,	// ORNXrr
3443    100716337U,	// ORNXrs
3444    302001969U,	// ORN_PPzPP
3445    68202289U,	// ORNv16i8
3446    2218831665U,	// ORNv8i8
3447    302002865U,	// ORRS_PPzPP
3448    100716875U,	// ORRWri
3449    0U,	// ORRWrr
3450    100716875U,	// ORRWrs
3451    100716875U,	// ORRXri
3452    0U,	// ORRXrr
3453    100716875U,	// ORRXrs
3454    302002507U,	// ORR_PPzPP
3455    201347403U,	// ORR_ZI
3456    302002507U,	// ORR_ZPmZ_B
3457    302010699U,	// ORR_ZPmZ_D
3458    2186309963U,	// ORR_ZPmZ_H
3459    302027083U,	// ORR_ZPmZ_S
3460    201347403U,	// ORR_ZZZ
3461    68202827U,	// ORRv16i8
3462    404287819U,	// ORRv2i32
3463    405336395U,	// ORRv4i16
3464    405860683U,	// ORRv4i32
3465    406384971U,	// ORRv8i16
3466    2218832203U,	// ORRv8i8
3467    302044188U,	// ORV_VPZ_B
3468    302044188U,	// ORV_VPZ_D
3469    302044188U,	// ORV_VPZ_H
3470    302044188U,	// ORV_VPZ_S
3471    2248196729U,	// PACDA
3472    2248197229U,	// PACDB
3473    6341452U,	// PACDZA
3474    6342378U,	// PACDZB
3475    100713110U,	// PACGA
3476    2248196765U,	// PACIA
3477    5796U,	// PACIA1716
3478    5927U,	// PACIASP
3479    5982U,	// PACIAZ
3480    2248197257U,	// PACIB
3481    5816U,	// PACIB1716
3482    5943U,	// PACIBSP
3483    5996U,	// PACIBZ
3484    6341468U,	// PACIZA
3485    6342394U,	// PACIZB
3486    6301913U,	// PFALSE
3487    70820111U,	// PMULLv16i8
3488    1132506590U,	// PMULLv1i64
3489    1166057743U,	// PMULLv2i64
3490    2218307038U,	// PMULLv8i8
3491    68202093U,	// PMULv16i8
3492    2218831469U,	// PMULv8i8
3493    302003042U,	// PNEXT_B
3494    302011234U,	// PNEXT_D
3495    2387637090U,	// PNEXT_H
3496    302027618U,	// PNEXT_S
3497    3079537795U,	// PRFB_D_PZI
3498    246285443U,	// PRFB_D_SCALED
3499    2393769091U,	// PRFB_D_SXTW_SCALED
3500    246285443U,	// PRFB_D_UXTW_SCALED
3501    246285443U,	// PRFB_PRI
3502    2393769091U,	// PRFB_PRR
3503    3080062083U,	// PRFB_S_PZI
3504    246285443U,	// PRFB_S_SXTW_SCALED
3505    2393769091U,	// PRFB_S_UXTW_SCALED
3506    1200490542U,	// PRFD_D_PZI
3507    246286382U,	// PRFD_D_SCALED
3508    2393770030U,	// PRFD_D_SXTW_SCALED
3509    246286382U,	// PRFD_D_UXTW_SCALED
3510    246286382U,	// PRFD_PRI
3511    2393770030U,	// PRFD_PRR
3512    1201014830U,	// PRFD_S_PZI
3513    246286382U,	// PRFD_S_SXTW_SCALED
3514    2393770030U,	// PRFD_S_UXTW_SCALED
3515    1234045485U,	// PRFH_D_PZI
3516    246286893U,	// PRFH_D_SCALED
3517    2393770541U,	// PRFH_D_SXTW_SCALED
3518    246286893U,	// PRFH_D_UXTW_SCALED
3519    246286893U,	// PRFH_PRI
3520    2393770541U,	// PRFH_PRR
3521    1234569773U,	// PRFH_S_PZI
3522    246286893U,	// PRFH_S_SXTW_SCALED
3523    2393770541U,	// PRFH_S_UXTW_SCALED
3524    436612781U,	// PRFMl
3525    106835629U,	// PRFMroW
3526    106835629U,	// PRFMroX
3527    106835629U,	// PRFMui
3528    246289619U,	// PRFS_PRR
3529    106835665U,	// PRFUMi
3530    1267602643U,	// PRFW_D_PZI
3531    2393773267U,	// PRFW_D_SCALED
3532    246289619U,	// PRFW_D_SXTW_SCALED
3533    2393773267U,	// PRFW_D_UXTW_SCALED
3534    246289619U,	// PRFW_PRI
3535    1268126931U,	// PRFW_S_PZI
3536    246289619U,	// PRFW_S_SXTW_SCALED
3537    2393773267U,	// PRFW_S_UXTW_SCALED
3538    2315629382U,	// PTEST_PP
3539    2650812975U,	// PTRUES_B
3540    2650821167U,	// PTRUES_D
3541    26767919U,	// PTRUES_H
3542    2650837551U,	// PTRUES_S
3543    2650810611U,	// PTRUE_B
3544    2650818803U,	// PTRUE_D
3545    26765555U,	// PTRUE_H
3546    2650835187U,	// PTRUE_S
3547    27290705U,	// PUNPKHI_PP
3548    27291525U,	// PUNPKLO_PP
3549    2216210144U,	// RADDHNv2i64_v2i32
3550    2284904786U,	// RADDHNv2i64_v4i32
3551    69775072U,	// RADDHNv4i32_v4i16
3552    137945426U,	// RADDHNv4i32_v8i16
3553    2282807634U,	// RADDHNv8i16_v16i8
3554    2218831584U,	// RADDHNv8i16_v8i8
3555    2216730741U,	// RAX1
3556    2248200960U,	// RBITWr
3557    2248200960U,	// RBITXr
3558    13056U,	// RBIT_ZPmZ_B
3559    21248U,	// RBIT_ZPmZ_D
3560    2181591808U,	// RBIT_ZPmZ_H
3561    37632U,	// RBIT_ZPmZ_S
3562    68203264U,	// RBITv16i8
3563    2218832640U,	// RBITv8i8
3564    302002840U,	// RDFFRS_PPz
3565    6303980U,	// RDFFR_P
3566    302002412U,	// RDFFR_PPz
3567    2248199810U,	// RDVLI_XI
3568    6345439U,	// RET
3569    5892U,	// RETAA
3570    5899U,	// RETAB
3571    0U,	// RET_ReallyLR
3572    2248196665U,	// REV16Wr
3573    2248196665U,	// REV16Xr
3574    68198969U,	// REV16v16i8
3575    2218828345U,	// REV16v8i8
3576    2248196219U,	// REV32Xr
3577    68198523U,	// REV32v16i8
3578    69771387U,	// REV32v4i16
3579    70819963U,	// REV32v8i16
3580    2218827899U,	// REV32v8i8
3581    68198944U,	// REV64v16i8
3582    68723232U,	// REV64v2i32
3583    69771808U,	// REV64v4i16
3584    2217779744U,	// REV64v4i32
3585    70820384U,	// REV64v8i16
3586    2218828320U,	// REV64v8i8
3587    18130U,	// REVB_ZPmZ_D
3588    2181588690U,	// REVB_ZPmZ_H
3589    34514U,	// REVB_ZPmZ_S
3590    19506U,	// REVH_ZPmZ_D
3591    35890U,	// REVH_ZPmZ_S
3592    21827U,	// REVW_ZPmZ_D
3593    2248201140U,	// REVWr
3594    2248201140U,	// REVXr
3595    2315269044U,	// REV_PP_B
3596    2348831668U,	// REV_PP_D
3597    608727988U,	// REV_PP_H
3598    2415956916U,	// REV_PP_S
3599    2315269044U,	// REV_ZZ_B
3600    2348831668U,	// REV_ZZ_D
3601    608727988U,	// REV_ZZ_H
3602    2415956916U,	// REV_ZZ_S
3603    100714751U,	// RMIF
3604    100716863U,	// RORVWr
3605    100716863U,	// RORVXr
3606    2282807663U,	// RSHRNv16i8_shift
3607    2216210209U,	// RSHRNv2i32_shift
3608    69775137U,	// RSHRNv4i16_shift
3609    2284904815U,	// RSHRNv4i32_shift
3610    137945455U,	// RSHRNv8i16_shift
3611    2218831649U,	// RSHRNv8i8_shift
3612    2216210136U,	// RSUBHNv2i64_v2i32
3613    2284904777U,	// RSUBHNv2i64_v4i32
3614    69775064U,	// RSUBHNv4i32_v4i16
3615    137945417U,	// RSUBHNv4i32_v8i16
3616    2282807625U,	// RSUBHNv8i16_v16i8
3617    2218831576U,	// RSUBHNv8i16_v8i8
3618    137945243U,	// SABALv16i8_v8i16
3619    2283859106U,	// SABALv2i32_v2i64
3620    137424034U,	// SABALv4i16_v4i32
3621    136372379U,	// SABALv4i32_v2i64
3622    2284904603U,	// SABALv8i16_v4i32
3623    2285431970U,	// SABALv8i8_v8i16
3624    135324269U,	// SABAv16i8
3625    2283332205U,	// SABAv2i32
3626    136897133U,	// SABAv4i16
3627    137421421U,	// SABAv4i32
3628    2285429357U,	// SABAv8i16
3629    2285953645U,	// SABAv8i8
3630    70820053U,	// SABDLv16i8_v8i16
3631    2216734028U,	// SABDLv2i32_v2i64
3632    70298956U,	// SABDLv4i16_v4i32
3633    69247189U,	// SABDLv4i32_v2i64
3634    2217779413U,	// SABDLv8i16_v4i32
3635    2218306892U,	// SABDLv8i8_v8i16
3636    302000042U,	// SABD_ZPmZ_B
3637    302008234U,	// SABD_ZPmZ_D
3638    2186307498U,	// SABD_ZPmZ_H
3639    302024618U,	// SABD_ZPmZ_S
3640    68200362U,	// SABDv16i8
3641    2216208298U,	// SABDv2i32
3642    69773226U,	// SABDv4i16
3643    70297514U,	// SABDv4i32
3644    2218305450U,	// SABDv8i16
3645    2218829738U,	// SABDv8i8
3646    137949153U,	// SADALPv16i8_v8i16
3647    162066401U,	// SADALPv2i32_v1i64
3648    135852001U,	// SADALPv4i16_v2i32
3649    2283859937U,	// SADALPv4i32_v2i64
3650    137424865U,	// SADALPv8i16_v4i32
3651    2284384225U,	// SADALPv8i8_v4i16
3652    70823921U,	// SADDLPv16i8_v8i16
3653    94941169U,	// SADDLPv2i32_v1i64
3654    68726769U,	// SADDLPv4i16_v2i32
3655    2216734705U,	// SADDLPv4i32_v2i64
3656    70299633U,	// SADDLPv8i16_v4i32
3657    2217258993U,	// SADDLPv8i8_v4i16
3658    67163083U,	// SADDLVv16i8v
3659    67163083U,	// SADDLVv4i16v
3660    2214646731U,	// SADDLVv4i32v
3661    67163083U,	// SADDLVv8i16v
3662    2214646731U,	// SADDLVv8i8v
3663    70820069U,	// SADDLv16i8_v8i16
3664    2216734066U,	// SADDLv2i32_v2i64
3665    70298994U,	// SADDLv4i16_v4i32
3666    69247205U,	// SADDLv4i32_v2i64
3667    2217779429U,	// SADDLv8i16_v4i32
3668    2218306930U,	// SADDLv8i8_v8i16
3669    302044064U,	// SADDV_VPZ_B
3670    302044064U,	// SADDV_VPZ_H
3671    302044064U,	// SADDV_VPZ_S
3672    2218303982U,	// SADDWv16i8_v8i16
3673    2216735941U,	// SADDWv2i32_v2i64
3674    70300869U,	// SADDWv4i16_v4i32
3675    2216731118U,	// SADDWv4i32_v2i64
3676    70296046U,	// SADDWv8i16_v4i32
3677    2218308805U,	// SADDWv8i8_v8i16
3678    100717072U,	// SBCSWr
3679    100717072U,	// SBCSXr
3680    100714257U,	// SBCWr
3681    100714257U,	// SBCXr
3682    100716193U,	// SBFMWri
3683    100716193U,	// SBFMXri
3684    100714757U,	// SCVTFSWDri
3685    100714757U,	// SCVTFSWHri
3686    100714757U,	// SCVTFSWSri
3687    100714757U,	// SCVTFSXDri
3688    100714757U,	// SCVTFSXHri
3689    100714757U,	// SCVTFSXSri
3690    2248198405U,	// SCVTFUWDri
3691    2248198405U,	// SCVTFUWHri
3692    2248198405U,	// SCVTFUWSri
3693    2248198405U,	// SCVTFUXDri
3694    2248198405U,	// SCVTFUXHri
3695    2248198405U,	// SCVTFUXSri
3696    18693U,	// SCVTF_ZPmZ_DtoD
3697    2181589253U,	// SCVTF_ZPmZ_DtoH
3698    35077U,	// SCVTF_ZPmZ_DtoS
3699    2181589253U,	// SCVTF_ZPmZ_HtoH
3700    18693U,	// SCVTF_ZPmZ_StoD
3701    2181589253U,	// SCVTF_ZPmZ_StoH
3702    35077U,	// SCVTF_ZPmZ_StoS
3703    100714757U,	// SCVTFd
3704    100714757U,	// SCVTFh
3705    100714757U,	// SCVTFs
3706    2248198405U,	// SCVTFv1i16
3707    2248198405U,	// SCVTFv1i32
3708    2248198405U,	// SCVTFv1i64
3709    68724997U,	// SCVTFv2f32
3710    2216732933U,	// SCVTFv2f64
3711    2216208645U,	// SCVTFv2i32_shift
3712    2216732933U,	// SCVTFv2i64_shift
3713    69773573U,	// SCVTFv4f16
3714    2217781509U,	// SCVTFv4f32
3715    69773573U,	// SCVTFv4i16_shift
3716    70297861U,	// SCVTFv4i32_shift
3717    70822149U,	// SCVTFv8f16
3718    2218305797U,	// SCVTFv8i16_shift
3719    302010794U,	// SDIVR_ZPmZ_D
3720    302027178U,	// SDIVR_ZPmZ_S
3721    100717503U,	// SDIVWr
3722    100717503U,	// SDIVXr
3723    302011327U,	// SDIV_ZPmZ_D
3724    302027711U,	// SDIV_ZPmZ_S
3725    3422573357U,	// SDOT_ZZZI_D
3726    3456144173U,	// SDOT_ZZZI_S
3727    3422573357U,	// SDOT_ZZZ_D
3728    3456144173U,	// SDOT_ZZZ_S
3729    137425709U,	// SDOTlanev16i8
3730    2283336493U,	// SDOTlanev8i8
3731    137425709U,	// SDOTv16i8
3732    2283336493U,	// SDOTv8i8
3733    302001538U,	// SEL_PPPP
3734    302001538U,	// SEL_ZPZZ_B
3735    302009730U,	// SEL_ZPZZ_D
3736    2387635586U,	// SEL_ZPZZ_H
3737    302026114U,	// SEL_ZPZZ_S
3738    6341169U,	// SETF16
3739    6341184U,	// SETF8
3740    5959U,	// SETFFR
3741    369190666U,	// SHA1Crrr
3742    2248198439U,	// SHA1Hrr
3743    369192602U,	// SHA1Mrrr
3744    369192878U,	// SHA1Prrr
3745    137420801U,	// SHA1SU0rrr
3746    2284904523U,	// SHA1SU1rr
3747    369189009U,	// SHA256H2rrr
3748    369191311U,	// SHA256Hrrr
3749    2284904469U,	// SHA256SU0rr
3750    137420895U,	// SHA256SU1rrr
3751    369191258U,	// SHA512H
3752    369188999U,	// SHA512H2
3753    2216730634U,	// SHA512SU0
3754    2283855956U,	// SHA512SU1
3755    68200449U,	// SHADDv16i8
3756    2216208385U,	// SHADDv2i32
3757    69773313U,	// SHADDv4i16
3758    70297601U,	// SHADDv4i32
3759    2218305537U,	// SHADDv8i16
3760    2218829825U,	// SHADDv8i8
3761    70820086U,	// SHLLv16i8
3762    2216734152U,	// SHLLv2i32
3763    70299080U,	// SHLLv4i16
3764    2216730870U,	// SHLLv4i32
3765    70295798U,	// SHLLv8i16
3766    2218307016U,	// SHLLv8i8
3767    100715921U,	// SHLd
3768    68201873U,	// SHLv16i8_shift
3769    2216209809U,	// SHLv2i32_shift
3770    2216734097U,	// SHLv2i64_shift
3771    69774737U,	// SHLv4i16_shift
3772    70299025U,	// SHLv4i32_shift
3773    2218306961U,	// SHLv8i16_shift
3774    2218831249U,	// SHLv8i8_shift
3775    2282807645U,	// SHRNv16i8_shift
3776    2216210193U,	// SHRNv2i32_shift
3777    69775121U,	// SHRNv4i16_shift
3778    2284904797U,	// SHRNv4i32_shift
3779    137945437U,	// SHRNv8i16_shift
3780    2218831633U,	// SHRNv8i8_shift
3781    68200103U,	// SHSUBv16i8
3782    2216208039U,	// SHSUBv2i32
3783    69772967U,	// SHSUBv4i16
3784    70297255U,	// SHSUBv4i32
3785    2218305191U,	// SHSUBv8i16
3786    2218829479U,	// SHSUBv8i8
3787    369192057U,	// SLId
3788    135326841U,	// SLIv16i8_shift
3789    2283334777U,	// SLIv2i32_shift
3790    2283859065U,	// SLIv2i64_shift
3791    136899705U,	// SLIv4i16_shift
3792    137423993U,	// SLIv4i32_shift
3793    2285431929U,	// SLIv8i16_shift
3794    2285956217U,	// SLIv8i8_shift
3795    137420906U,	// SM3PARTW1
3796    137421310U,	// SM3PARTW2
3797    70295614U,	// SM3SS1
3798    137421383U,	// SM3TT1A
3799    137421720U,	// SM3TT1B
3800    137421392U,	// SM3TT2A
3801    137421749U,	// SM3TT2B
3802    2217781339U,	// SM4E
3803    70301097U,	// SM4ENCKEY
3804    100715874U,	// SMADDLrrr
3805    68202617U,	// SMAXPv16i8
3806    2216210553U,	// SMAXPv2i32
3807    69775481U,	// SMAXPv4i16
3808    70299769U,	// SMAXPv4i32
3809    2218307705U,	// SMAXPv8i16
3810    2218831993U,	// SMAXPv8i8
3811    302044200U,	// SMAXV_VPZ_B
3812    302044200U,	// SMAXV_VPZ_D
3813    302044200U,	// SMAXV_VPZ_H
3814    302044200U,	// SMAXV_VPZ_S
3815    67163176U,	// SMAXVv16i8v
3816    67163176U,	// SMAXVv4i16v
3817    2214646824U,	// SMAXVv4i32v
3818    67163176U,	// SMAXVv8i16v
3819    2214646824U,	// SMAXVv8i8v
3820    167785823U,	// SMAX_ZI_B
3821    201348447U,	// SMAX_ZI_D
3822    239629663U,	// SMAX_ZI_H
3823    268473695U,	// SMAX_ZI_S
3824    302003551U,	// SMAX_ZPmZ_B
3825    302011743U,	// SMAX_ZPmZ_D
3826    2186311007U,	// SMAX_ZPmZ_H
3827    302028127U,	// SMAX_ZPmZ_S
3828    68203871U,	// SMAXv16i8
3829    2216211807U,	// SMAXv2i32
3830    69776735U,	// SMAXv4i16
3831    70301023U,	// SMAXv4i32
3832    2218308959U,	// SMAXv8i16
3833    2218833247U,	// SMAXv8i8
3834    75562U,	// SMC
3835    68202541U,	// SMINPv16i8
3836    2216210477U,	// SMINPv2i32
3837    69775405U,	// SMINPv4i16
3838    70299693U,	// SMINPv4i32
3839    2218307629U,	// SMINPv8i16
3840    2218831917U,	// SMINPv8i8
3841    302044148U,	// SMINV_VPZ_B
3842    302044148U,	// SMINV_VPZ_D
3843    302044148U,	// SMINV_VPZ_H
3844    302044148U,	// SMINV_VPZ_S
3845    67163124U,	// SMINVv16i8v
3846    67163124U,	// SMINVv4i16v
3847    2214646772U,	// SMINVv4i32v
3848    67163124U,	// SMINVv8i16v
3849    2214646772U,	// SMINVv8i8v
3850    167784176U,	// SMIN_ZI_B
3851    201346800U,	// SMIN_ZI_D
3852    239628016U,	// SMIN_ZI_H
3853    268472048U,	// SMIN_ZI_S
3854    302001904U,	// SMIN_ZPmZ_B
3855    302010096U,	// SMIN_ZPmZ_D
3856    2186309360U,	// SMIN_ZPmZ_H
3857    302026480U,	// SMIN_ZPmZ_S
3858    68202224U,	// SMINv16i8
3859    2216210160U,	// SMINv2i32
3860    69775088U,	// SMINv4i16
3861    70299376U,	// SMINv4i32
3862    2218307312U,	// SMINv8i16
3863    2218831600U,	// SMINv8i8
3864    137945269U,	// SMLALv16i8_v8i16
3865    2283859138U,	// SMLALv2i32_indexed
3866    2283859138U,	// SMLALv2i32_v2i64
3867    137424066U,	// SMLALv4i16_indexed
3868    137424066U,	// SMLALv4i16_v4i32
3869    136372405U,	// SMLALv4i32_indexed
3870    136372405U,	// SMLALv4i32_v2i64
3871    2284904629U,	// SMLALv8i16_indexed
3872    2284904629U,	// SMLALv8i16_v4i32
3873    2285432002U,	// SMLALv8i8_v8i16
3874    137945393U,	// SMLSLv16i8_v8i16
3875    2283859517U,	// SMLSLv2i32_indexed
3876    2283859517U,	// SMLSLv2i32_v2i64
3877    137424445U,	// SMLSLv4i16_indexed
3878    137424445U,	// SMLSLv4i16_v4i32
3879    136372529U,	// SMLSLv4i32_indexed
3880    136372529U,	// SMLSLv4i32_v2i64
3881    2284904753U,	// SMLSLv8i16_indexed
3882    2284904753U,	// SMLSLv8i16_v4i32
3883    2285432381U,	// SMLSLv8i8_v8i16
3884    67163151U,	// SMOVvi16to32
3885    67163151U,	// SMOVvi16to64
3886    2214646799U,	// SMOVvi32to64
3887    2214646799U,	// SMOVvi8to32
3888    2214646799U,	// SMOVvi8to64
3889    100715822U,	// SMSUBLrrr
3890    302000880U,	// SMULH_ZPmZ_B
3891    302009072U,	// SMULH_ZPmZ_D
3892    2186308336U,	// SMULH_ZPmZ_H
3893    302025456U,	// SMULH_ZPmZ_S
3894    100715248U,	// SMULHrr
3895    70820119U,	// SMULLv16i8_v8i16
3896    2216734181U,	// SMULLv2i32_indexed
3897    2216734181U,	// SMULLv2i32_v2i64
3898    70299109U,	// SMULLv4i16_indexed
3899    70299109U,	// SMULLv4i16_v4i32
3900    69247255U,	// SMULLv4i32_indexed
3901    69247255U,	// SMULLv4i32_v2i64
3902    2217779479U,	// SMULLv8i16_indexed
3903    2217779479U,	// SMULLv8i16_v4i32
3904    2218307045U,	// SMULLv8i8_v8i16
3905    302000225U,	// SPLICE_ZPZ_B
3906    302008417U,	// SPLICE_ZPZ_D
3907    2387634273U,	// SPLICE_ZPZ_H
3908    302024801U,	// SPLICE_ZPZ_S
3909    68202996U,	// SQABSv16i8
3910    2248200692U,	// SQABSv1i16
3911    2248200692U,	// SQABSv1i32
3912    2248200692U,	// SQABSv1i64
3913    2248200692U,	// SQABSv1i8
3914    68727284U,	// SQABSv2i32
3915    2216735220U,	// SQABSv2i64
3916    69775860U,	// SQABSv4i16
3917    2217783796U,	// SQABSv4i32
3918    70824436U,	// SQABSv8i16
3919    2218832372U,	// SQABSv8i8
3920    167782431U,	// SQADD_ZI_B
3921    201345055U,	// SQADD_ZI_D
3922    239626271U,	// SQADD_ZI_H
3923    268470303U,	// SQADD_ZI_S
3924    167782431U,	// SQADD_ZZZ_B
3925    201345055U,	// SQADD_ZZZ_D
3926    2387109919U,	// SQADD_ZZZ_H
3927    268470303U,	// SQADD_ZZZ_S
3928    68200479U,	// SQADDv16i8
3929    100714527U,	// SQADDv1i16
3930    100714527U,	// SQADDv1i32
3931    100714527U,	// SQADDv1i64
3932    100714527U,	// SQADDv1i8
3933    2216208415U,	// SQADDv2i32
3934    2216732703U,	// SQADDv2i64
3935    69773343U,	// SQADDv4i16
3936    70297631U,	// SQADDv4i32
3937    2218305567U,	// SQADDv8i16
3938    2218829855U,	// SQADDv8i8
3939    536921165U,	// SQDECB_XPiI
3940    1342227533U,	// SQDECB_XPiWdI
3941    536922045U,	// SQDECD_XPiI
3942    1342228413U,	// SQDECD_XPiWdI
3943    536889277U,	// SQDECD_ZPiI
3944    536922629U,	// SQDECH_XPiI
3945    1342228997U,	// SQDECH_XPiWdI
3946    6842885U,	// SQDECH_ZPiI
3947    167825333U,	// SQDECP_XPWd_B
3948    201379765U,	// SQDECP_XPWd_D
3949    570478517U,	// SQDECP_XPWd_H
3950    268488629U,	// SQDECP_XPWd_S
3951    2315308981U,	// SQDECP_XP_B
3952    2348863413U,	// SQDECP_XP_D
3953    2717962165U,	// SQDECP_XP_H
3954    2415972277U,	// SQDECP_XP_S
3955    2147504053U,	// SQDECP_ZP_D
3956    604532661U,	// SQDECP_ZP_H
3957    2147520437U,	// SQDECP_ZP_S
3958    536925349U,	// SQDECW_XPiI
3959    1342231717U,	// SQDECW_XPiWdI
3960    536908965U,	// SQDECW_ZPiI
3961    369192121U,	// SQDMLALi16
3962    369192121U,	// SQDMLALi32
3963    369192121U,	// SQDMLALv1i32_indexed
3964    369192121U,	// SQDMLALv1i64_indexed
3965    2283859129U,	// SQDMLALv2i32_indexed
3966    2283859129U,	// SQDMLALv2i32_v2i64
3967    137424057U,	// SQDMLALv4i16_indexed
3968    137424057U,	// SQDMLALv4i16_v4i32
3969    136372395U,	// SQDMLALv4i32_indexed
3970    136372395U,	// SQDMLALv4i32_v2i64
3971    2284904619U,	// SQDMLALv8i16_indexed
3972    2284904619U,	// SQDMLALv8i16_v4i32
3973    369192500U,	// SQDMLSLi16
3974    369192500U,	// SQDMLSLi32
3975    369192500U,	// SQDMLSLv1i32_indexed
3976    369192500U,	// SQDMLSLv1i64_indexed
3977    2283859508U,	// SQDMLSLv2i32_indexed
3978    2283859508U,	// SQDMLSLv2i32_v2i64
3979    137424436U,	// SQDMLSLv4i16_indexed
3980    137424436U,	// SQDMLSLv4i16_v4i32
3981    136372519U,	// SQDMLSLv4i32_indexed
3982    136372519U,	// SQDMLSLv4i32_v2i64
3983    2284904743U,	// SQDMLSLv8i16_indexed
3984    2284904743U,	// SQDMLSLv8i16_v4i32
3985    100715229U,	// SQDMULHv1i16
3986    100715229U,	// SQDMULHv1i16_indexed
3987    100715229U,	// SQDMULHv1i32
3988    100715229U,	// SQDMULHv1i32_indexed
3989    2216209117U,	// SQDMULHv2i32
3990    2216209117U,	// SQDMULHv2i32_indexed
3991    69774045U,	// SQDMULHv4i16
3992    69774045U,	// SQDMULHv4i16_indexed
3993    70298333U,	// SQDMULHv4i32
3994    70298333U,	// SQDMULHv4i32_indexed
3995    2218306269U,	// SQDMULHv8i16
3996    2218306269U,	// SQDMULHv8i16_indexed
3997    100715989U,	// SQDMULLi16
3998    100715989U,	// SQDMULLi32
3999    100715989U,	// SQDMULLv1i32_indexed
4000    100715989U,	// SQDMULLv1i64_indexed
4001    2216734165U,	// SQDMULLv2i32_indexed
4002    2216734165U,	// SQDMULLv2i32_v2i64
4003    70299093U,	// SQDMULLv4i16_indexed
4004    70299093U,	// SQDMULLv4i16_v4i32
4005    69247237U,	// SQDMULLv4i32_indexed
4006    69247237U,	// SQDMULLv4i32_v2i64
4007    2217779461U,	// SQDMULLv8i16_indexed
4008    2217779461U,	// SQDMULLv8i16_v4i32
4009    536921181U,	// SQINCB_XPiI
4010    1342227549U,	// SQINCB_XPiWdI
4011    536922061U,	// SQINCD_XPiI
4012    1342228429U,	// SQINCD_XPiWdI
4013    536889293U,	// SQINCD_ZPiI
4014    536922645U,	// SQINCH_XPiI
4015    1342229013U,	// SQINCH_XPiWdI
4016    6842901U,	// SQINCH_ZPiI
4017    167825349U,	// SQINCP_XPWd_B
4018    201379781U,	// SQINCP_XPWd_D
4019    570478533U,	// SQINCP_XPWd_H
4020    268488645U,	// SQINCP_XPWd_S
4021    2315308997U,	// SQINCP_XP_B
4022    2348863429U,	// SQINCP_XP_D
4023    2717962181U,	// SQINCP_XP_H
4024    2415972293U,	// SQINCP_XP_S
4025    2147504069U,	// SQINCP_ZP_D
4026    604532677U,	// SQINCP_ZP_H
4027    2147520453U,	// SQINCP_ZP_S
4028    536925365U,	// SQINCW_XPiI
4029    1342231733U,	// SQINCW_XPiWdI
4030    536908981U,	// SQINCW_ZPiI
4031    68200729U,	// SQNEGv16i8
4032    2248198425U,	// SQNEGv1i16
4033    2248198425U,	// SQNEGv1i32
4034    2248198425U,	// SQNEGv1i64
4035    2248198425U,	// SQNEGv1i8
4036    68725017U,	// SQNEGv2i32
4037    2216732953U,	// SQNEGv2i64
4038    69773593U,	// SQNEGv4i16
4039    2217781529U,	// SQNEGv4i32
4040    70822169U,	// SQNEGv8i16
4041    2218830105U,	// SQNEGv8i8
4042    369191329U,	// SQRDMLAHi16_indexed
4043    369191329U,	// SQRDMLAHi32_indexed
4044    369191329U,	// SQRDMLAHv1i16
4045    369191329U,	// SQRDMLAHv1i32
4046    2283334049U,	// SQRDMLAHv2i32
4047    2283334049U,	// SQRDMLAHv2i32_indexed
4048    136898977U,	// SQRDMLAHv4i16
4049    136898977U,	// SQRDMLAHv4i16_indexed
4050    137423265U,	// SQRDMLAHv4i32
4051    137423265U,	// SQRDMLAHv4i32_indexed
4052    2285431201U,	// SQRDMLAHv8i16
4053    2285431201U,	// SQRDMLAHv8i16_indexed
4054    369191909U,	// SQRDMLSHi16_indexed
4055    369191909U,	// SQRDMLSHi32_indexed
4056    369191909U,	// SQRDMLSHv1i16
4057    369191909U,	// SQRDMLSHv1i32
4058    2283334629U,	// SQRDMLSHv2i32
4059    2283334629U,	// SQRDMLSHv2i32_indexed
4060    136899557U,	// SQRDMLSHv4i16
4061    136899557U,	// SQRDMLSHv4i16_indexed
4062    137423845U,	// SQRDMLSHv4i32
4063    137423845U,	// SQRDMLSHv4i32_indexed
4064    2285431781U,	// SQRDMLSHv8i16
4065    2285431781U,	// SQRDMLSHv8i16_indexed
4066    100715238U,	// SQRDMULHv1i16
4067    100715238U,	// SQRDMULHv1i16_indexed
4068    100715238U,	// SQRDMULHv1i32
4069    100715238U,	// SQRDMULHv1i32_indexed
4070    2216209126U,	// SQRDMULHv2i32
4071    2216209126U,	// SQRDMULHv2i32_indexed
4072    69774054U,	// SQRDMULHv4i16
4073    69774054U,	// SQRDMULHv4i16_indexed
4074    70298342U,	// SQRDMULHv4i32
4075    70298342U,	// SQRDMULHv4i32_indexed
4076    2218306278U,	// SQRDMULHv8i16
4077    2218306278U,	// SQRDMULHv8i16_indexed
4078    68201885U,	// SQRSHLv16i8
4079    100715933U,	// SQRSHLv1i16
4080    100715933U,	// SQRSHLv1i32
4081    100715933U,	// SQRSHLv1i64
4082    100715933U,	// SQRSHLv1i8
4083    2216209821U,	// SQRSHLv2i32
4084    2216734109U,	// SQRSHLv2i64
4085    69774749U,	// SQRSHLv4i16
4086    70299037U,	// SQRSHLv4i32
4087    2218306973U,	// SQRSHLv8i16
4088    2218831261U,	// SQRSHLv8i8
4089    100716319U,	// SQRSHRNb
4090    100716319U,	// SQRSHRNh
4091    100716319U,	// SQRSHRNs
4092    2282807661U,	// SQRSHRNv16i8_shift
4093    2216210207U,	// SQRSHRNv2i32_shift
4094    69775135U,	// SQRSHRNv4i16_shift
4095    2284904813U,	// SQRSHRNv4i32_shift
4096    137945453U,	// SQRSHRNv8i16_shift
4097    2218831647U,	// SQRSHRNv8i8_shift
4098    100716380U,	// SQRSHRUNb
4099    100716380U,	// SQRSHRUNh
4100    100716380U,	// SQRSHRUNs
4101    2282807721U,	// SQRSHRUNv16i8_shift
4102    2216210268U,	// SQRSHRUNv2i32_shift
4103    69775196U,	// SQRSHRUNv4i16_shift
4104    2284904873U,	// SQRSHRUNv4i32_shift
4105    137945513U,	// SQRSHRUNv8i16_shift
4106    2218831708U,	// SQRSHRUNv8i8_shift
4107    100717425U,	// SQSHLUb
4108    100717425U,	// SQSHLUd
4109    100717425U,	// SQSHLUh
4110    100717425U,	// SQSHLUs
4111    68203377U,	// SQSHLUv16i8_shift
4112    2216211313U,	// SQSHLUv2i32_shift
4113    2216735601U,	// SQSHLUv2i64_shift
4114    69776241U,	// SQSHLUv4i16_shift
4115    70300529U,	// SQSHLUv4i32_shift
4116    2218308465U,	// SQSHLUv8i16_shift
4117    2218832753U,	// SQSHLUv8i8_shift
4118    100715919U,	// SQSHLb
4119    100715919U,	// SQSHLd
4120    100715919U,	// SQSHLh
4121    100715919U,	// SQSHLs
4122    68201871U,	// SQSHLv16i8
4123    68201871U,	// SQSHLv16i8_shift
4124    100715919U,	// SQSHLv1i16
4125    100715919U,	// SQSHLv1i32
4126    100715919U,	// SQSHLv1i64
4127    100715919U,	// SQSHLv1i8
4128    2216209807U,	// SQSHLv2i32
4129    2216209807U,	// SQSHLv2i32_shift
4130    2216734095U,	// SQSHLv2i64
4131    2216734095U,	// SQSHLv2i64_shift
4132    69774735U,	// SQSHLv4i16
4133    69774735U,	// SQSHLv4i16_shift
4134    70299023U,	// SQSHLv4i32
4135    70299023U,	// SQSHLv4i32_shift
4136    2218306959U,	// SQSHLv8i16
4137    2218306959U,	// SQSHLv8i16_shift
4138    2218831247U,	// SQSHLv8i8
4139    2218831247U,	// SQSHLv8i8_shift
4140    100716303U,	// SQSHRNb
4141    100716303U,	// SQSHRNh
4142    100716303U,	// SQSHRNs
4143    2282807643U,	// SQSHRNv16i8_shift
4144    2216210191U,	// SQSHRNv2i32_shift
4145    69775119U,	// SQSHRNv4i16_shift
4146    2284904795U,	// SQSHRNv4i32_shift
4147    137945435U,	// SQSHRNv8i16_shift
4148    2218831631U,	// SQSHRNv8i8_shift
4149    100716371U,	// SQSHRUNb
4150    100716371U,	// SQSHRUNh
4151    100716371U,	// SQSHRUNs
4152    2282807711U,	// SQSHRUNv16i8_shift
4153    2216210259U,	// SQSHRUNv2i32_shift
4154    69775187U,	// SQSHRUNv4i16_shift
4155    2284904863U,	// SQSHRUNv4i32_shift
4156    137945503U,	// SQSHRUNv8i16_shift
4157    2218831699U,	// SQSHRUNv8i8_shift
4158    167782084U,	// SQSUB_ZI_B
4159    201344708U,	// SQSUB_ZI_D
4160    239625924U,	// SQSUB_ZI_H
4161    268469956U,	// SQSUB_ZI_S
4162    167782084U,	// SQSUB_ZZZ_B
4163    201344708U,	// SQSUB_ZZZ_D
4164    2387109572U,	// SQSUB_ZZZ_H
4165    268469956U,	// SQSUB_ZZZ_S
4166    68200132U,	// SQSUBv16i8
4167    100714180U,	// SQSUBv1i16
4168    100714180U,	// SQSUBv1i32
4169    100714180U,	// SQSUBv1i64
4170    100714180U,	// SQSUBv1i8
4171    2216208068U,	// SQSUBv2i32
4172    2216732356U,	// SQSUBv2i64
4173    69772996U,	// SQSUBv4i16
4174    70297284U,	// SQSUBv4i32
4175    2218305220U,	// SQSUBv8i16
4176    2218829508U,	// SQSUBv8i8
4177    135324047U,	// SQXTNv16i8
4178    2248200005U,	// SQXTNv1i16
4179    2248200005U,	// SQXTNv1i32
4180    2248200005U,	// SQXTNv1i8
4181    2216210245U,	// SQXTNv2i32
4182    2217258821U,	// SQXTNv4i16
4183    2284904847U,	// SQXTNv4i32
4184    2285429135U,	// SQXTNv8i16
4185    71348037U,	// SQXTNv8i8
4186    135324084U,	// SQXTUNv16i8
4187    2248200038U,	// SQXTUNv1i16
4188    2248200038U,	// SQXTUNv1i32
4189    2248200038U,	// SQXTUNv1i8
4190    2216210278U,	// SQXTUNv2i32
4191    2217258854U,	// SQXTUNv4i16
4192    2284904884U,	// SQXTUNv4i32
4193    2285429172U,	// SQXTUNv8i16
4194    71348070U,	// SQXTUNv8i8
4195    68200433U,	// SRHADDv16i8
4196    2216208369U,	// SRHADDv2i32
4197    69773297U,	// SRHADDv4i16
4198    70297585U,	// SRHADDv4i32
4199    2218305521U,	// SRHADDv8i16
4200    2218829809U,	// SRHADDv8i8
4201    369192068U,	// SRId
4202    135326852U,	// SRIv16i8_shift
4203    2283334788U,	// SRIv2i32_shift
4204    2283859076U,	// SRIv2i64_shift
4205    136899716U,	// SRIv4i16_shift
4206    137424004U,	// SRIv4i32_shift
4207    2285431940U,	// SRIv8i16_shift
4208    2285956228U,	// SRIv8i8_shift
4209    68201901U,	// SRSHLv16i8
4210    100715949U,	// SRSHLv1i64
4211    2216209837U,	// SRSHLv2i32
4212    2216734125U,	// SRSHLv2i64
4213    69774765U,	// SRSHLv4i16
4214    70299053U,	// SRSHLv4i32
4215    2218306989U,	// SRSHLv8i16
4216    2218831277U,	// SRSHLv8i8
4217    100716794U,	// SRSHRd
4218    68202746U,	// SRSHRv16i8_shift
4219    2216210682U,	// SRSHRv2i32_shift
4220    2216734970U,	// SRSHRv2i64_shift
4221    69775610U,	// SRSHRv4i16_shift
4222    70299898U,	// SRSHRv4i32_shift
4223    2218307834U,	// SRSHRv8i16_shift
4224    2218832122U,	// SRSHRv8i8_shift
4225    369189634U,	// SRSRAd
4226    135324418U,	// SRSRAv16i8_shift
4227    2283332354U,	// SRSRAv2i32_shift
4228    2283856642U,	// SRSRAv2i64_shift
4229    136897282U,	// SRSRAv4i16_shift
4230    137421570U,	// SRSRAv4i32_shift
4231    2285429506U,	// SRSRAv8i16_shift
4232    2285953794U,	// SRSRAv8i8_shift
4233    70820085U,	// SSHLLv16i8_shift
4234    2216734151U,	// SSHLLv2i32_shift
4235    70299079U,	// SSHLLv4i16_shift
4236    69247221U,	// SSHLLv4i32_shift
4237    2217779445U,	// SSHLLv8i16_shift
4238    2218307015U,	// SSHLLv8i8_shift
4239    68201915U,	// SSHLv16i8
4240    100715963U,	// SSHLv1i64
4241    2216209851U,	// SSHLv2i32
4242    2216734139U,	// SSHLv2i64
4243    69774779U,	// SSHLv4i16
4244    70299067U,	// SSHLv4i32
4245    2218307003U,	// SSHLv8i16
4246    2218831291U,	// SSHLv8i8
4247    100716808U,	// SSHRd
4248    68202760U,	// SSHRv16i8_shift
4249    2216210696U,	// SSHRv2i32_shift
4250    2216734984U,	// SSHRv2i64_shift
4251    69775624U,	// SSHRv4i16_shift
4252    70299912U,	// SSHRv4i32_shift
4253    2218307848U,	// SSHRv8i16_shift
4254    2218832136U,	// SSHRv8i8_shift
4255    369189648U,	// SSRAd
4256    135324432U,	// SSRAv16i8_shift
4257    2283332368U,	// SSRAv2i32_shift
4258    2283856656U,	// SSRAv2i64_shift
4259    136897296U,	// SSRAv4i16_shift
4260    137421584U,	// SSRAv4i32_shift
4261    2285429520U,	// SSRAv8i16_shift
4262    2285953808U,	// SSRAv8i8_shift
4263    374997906U,	// SST1B_D
4264    878314386U,	// SST1B_D_IMM
4265    374997906U,	// SST1B_D_SXTW
4266    374997906U,	// SST1B_D_UXTW
4267    811213714U,	// SST1B_S_IMM
4268    375006098U,	// SST1B_S_SXTW
4269    375006098U,	// SST1B_S_UXTW
4270    374998886U,	// SST1D
4271    878315366U,	// SST1D_IMM
4272    374998886U,	// SST1D_SCALED
4273    374998886U,	// SST1D_SXTW
4274    374998886U,	// SST1D_SXTW_SCALED
4275    374998886U,	// SST1D_UXTW
4276    374998886U,	// SST1D_UXTW_SCALED
4277    374999380U,	// SST1H_D
4278    3025799508U,	// SST1H_D_IMM
4279    374999380U,	// SST1H_D_SCALED
4280    374999380U,	// SST1H_D_SXTW
4281    374999380U,	// SST1H_D_SXTW_SCALED
4282    374999380U,	// SST1H_D_UXTW
4283    374999380U,	// SST1H_D_UXTW_SCALED
4284    2958698836U,	// SST1H_S_IMM
4285    375007572U,	// SST1H_S_SXTW
4286    375007572U,	// SST1H_S_SXTW_SCALED
4287    375007572U,	// SST1H_S_UXTW
4288    375007572U,	// SST1H_S_UXTW_SCALED
4289    375002204U,	// SST1W_D
4290    878318684U,	// SST1W_D_IMM
4291    375002204U,	// SST1W_D_SCALED
4292    375002204U,	// SST1W_D_SXTW
4293    375002204U,	// SST1W_D_SXTW_SCALED
4294    375002204U,	// SST1W_D_UXTW
4295    375002204U,	// SST1W_D_UXTW_SCALED
4296    811218012U,	// SST1W_IMM
4297    375010396U,	// SST1W_SXTW
4298    375010396U,	// SST1W_SXTW_SCALED
4299    375010396U,	// SST1W_UXTW
4300    375010396U,	// SST1W_UXTW_SCALED
4301    70820037U,	// SSUBLv16i8_v8i16
4302    2216734014U,	// SSUBLv2i32_v2i64
4303    70298942U,	// SSUBLv4i16_v4i32
4304    69247173U,	// SSUBLv4i32_v2i64
4305    2217779397U,	// SSUBLv8i16_v4i32
4306    2218306878U,	// SSUBLv8i8_v8i16
4307    2218303966U,	// SSUBWv16i8_v8i16
4308    2216735886U,	// SSUBWv2i32_v2i64
4309    70300814U,	// SSUBWv4i16_v4i32
4310    2216731102U,	// SSUBWv4i32_v2i64
4311    70296030U,	// SSUBWv8i16_v4i32
4312    2218308750U,	// SSUBWv8i8_v8i16
4313    375022482U,	// ST1B
4314    374997906U,	// ST1B_D
4315    374997906U,	// ST1B_D_IMM
4316    375030674U,	// ST1B_H
4317    375030674U,	// ST1B_H_IMM
4318    375022482U,	// ST1B_IMM
4319    375006098U,	// ST1B_S
4320    375006098U,	// ST1B_S_IMM
4321    374998886U,	// ST1D
4322    374998886U,	// ST1D_IMM
4323    172102U,	// ST1Fourv16b
4324    13287494U,	// ST1Fourv16b_POST
4325    188486U,	// ST1Fourv1d
4326    13828166U,	// ST1Fourv1d_POST
4327    204870U,	// ST1Fourv2d
4328    13320262U,	// ST1Fourv2d_POST
4329    221254U,	// ST1Fourv2s
4330    13860934U,	// ST1Fourv2s_POST
4331    237638U,	// ST1Fourv4h
4332    13877318U,	// ST1Fourv4h_POST
4333    254022U,	// ST1Fourv4s
4334    13369414U,	// ST1Fourv4s_POST
4335    270406U,	// ST1Fourv8b
4336    13910086U,	// ST1Fourv8b_POST
4337    286790U,	// ST1Fourv8h
4338    13402182U,	// ST1Fourv8h_POST
4339    375032148U,	// ST1H
4340    374999380U,	// ST1H_D
4341    374999380U,	// ST1H_D_IMM
4342    375032148U,	// ST1H_IMM
4343    375007572U,	// ST1H_S
4344    375007572U,	// ST1H_S_IMM
4345    172102U,	// ST1Onev16b
4346    14336070U,	// ST1Onev16b_POST
4347    188486U,	// ST1Onev1d
4348    14876742U,	// ST1Onev1d_POST
4349    204870U,	// ST1Onev2d
4350    14368838U,	// ST1Onev2d_POST
4351    221254U,	// ST1Onev2s
4352    14909510U,	// ST1Onev2s_POST
4353    237638U,	// ST1Onev4h
4354    14925894U,	// ST1Onev4h_POST
4355    254022U,	// ST1Onev4s
4356    14417990U,	// ST1Onev4s_POST
4357    270406U,	// ST1Onev8b
4358    14958662U,	// ST1Onev8b_POST
4359    286790U,	// ST1Onev8h
4360    14450758U,	// ST1Onev8h_POST
4361    172102U,	// ST1Threev16b
4362    16957510U,	// ST1Threev16b_POST
4363    188486U,	// ST1Threev1d
4364    17498182U,	// ST1Threev1d_POST
4365    204870U,	// ST1Threev2d
4366    16990278U,	// ST1Threev2d_POST
4367    221254U,	// ST1Threev2s
4368    17530950U,	// ST1Threev2s_POST
4369    237638U,	// ST1Threev4h
4370    17547334U,	// ST1Threev4h_POST
4371    254022U,	// ST1Threev4s
4372    17039430U,	// ST1Threev4s_POST
4373    270406U,	// ST1Threev8b
4374    17580102U,	// ST1Threev8b_POST
4375    286790U,	// ST1Threev8h
4376    17072198U,	// ST1Threev8h_POST
4377    172102U,	// ST1Twov16b
4378    13811782U,	// ST1Twov16b_POST
4379    188486U,	// ST1Twov1d
4380    14352454U,	// ST1Twov1d_POST
4381    204870U,	// ST1Twov2d
4382    13844550U,	// ST1Twov2d_POST
4383    221254U,	// ST1Twov2s
4384    14385222U,	// ST1Twov2s_POST
4385    237638U,	// ST1Twov4h
4386    14401606U,	// ST1Twov4h_POST
4387    254022U,	// ST1Twov4s
4388    13893702U,	// ST1Twov4s_POST
4389    270406U,	// ST1Twov8b
4390    14434374U,	// ST1Twov8b_POST
4391    286790U,	// ST1Twov8h
4392    13926470U,	// ST1Twov8h_POST
4393    375010396U,	// ST1W
4394    375002204U,	// ST1W_D
4395    375002204U,	// ST1W_D_IMM
4396    375010396U,	// ST1W_IMM
4397    409670U,	// ST1i16
4398    1404346438U,	// ST1i16_POST
4399    417862U,	// ST1i32
4400    1437917254U,	// ST1i32_POST
4401    426054U,	// ST1i64
4402    1471488070U,	// ST1i64_POST
4403    434246U,	// ST1i8
4404    1505058886U,	// ST1i8_POST
4405    375022511U,	// ST2B
4406    375022511U,	// ST2B_IMM
4407    374998898U,	// ST2D
4408    374998898U,	// ST2D_IMM
4409    375032177U,	// ST2H
4410    375032177U,	// ST2H_IMM
4411    172505U,	// ST2Twov16b
4412    13812185U,	// ST2Twov16b_POST
4413    205273U,	// ST2Twov2d
4414    13844953U,	// ST2Twov2d_POST
4415    221657U,	// ST2Twov2s
4416    14385625U,	// ST2Twov2s_POST
4417    238041U,	// ST2Twov4h
4418    14402009U,	// ST2Twov4h_POST
4419    254425U,	// ST2Twov4s
4420    13894105U,	// ST2Twov4s_POST
4421    270809U,	// ST2Twov8b
4422    14434777U,	// ST2Twov8b_POST
4423    287193U,	// ST2Twov8h
4424    13926873U,	// ST2Twov8h_POST
4425    375010416U,	// ST2W
4426    375010416U,	// ST2W_IMM
4427    410073U,	// ST2i16
4428    1437901273U,	// ST2i16_POST
4429    418265U,	// ST2i32
4430    1471472089U,	// ST2i32_POST
4431    426457U,	// ST2i64
4432    1538597337U,	// ST2i64_POST
4433    434649U,	// ST2i8
4434    1404395993U,	// ST2i8_POST
4435    375022532U,	// ST3B
4436    375022532U,	// ST3B_IMM
4437    374998910U,	// ST3D
4438    374998910U,	// ST3D_IMM
4439    375032189U,	// ST3H
4440    375032189U,	// ST3H_IMM
4441    172571U,	// ST3Threev16b
4442    16957979U,	// ST3Threev16b_POST
4443    205339U,	// ST3Threev2d
4444    16990747U,	// ST3Threev2d_POST
4445    221723U,	// ST3Threev2s
4446    17531419U,	// ST3Threev2s_POST
4447    238107U,	// ST3Threev4h
4448    17547803U,	// ST3Threev4h_POST
4449    254491U,	// ST3Threev4s
4450    17039899U,	// ST3Threev4s_POST
4451    270875U,	// ST3Threev8b
4452    17580571U,	// ST3Threev8b_POST
4453    287259U,	// ST3Threev8h
4454    17072667U,	// ST3Threev8h_POST
4455    375010428U,	// ST3W
4456    375010428U,	// ST3W_IMM
4457    410139U,	// ST3i16
4458    1572119067U,	// ST3i16_POST
4459    418331U,	// ST3i32
4460    1605689883U,	// ST3i32_POST
4461    426523U,	// ST3i64
4462    1639260699U,	// ST3i64_POST
4463    434715U,	// ST3i8
4464    1672831515U,	// ST3i8_POST
4465    375022544U,	// ST4B
4466    375022544U,	// ST4B_IMM
4467    374998922U,	// ST4D
4468    374998922U,	// ST4D_IMM
4469    172588U,	// ST4Fourv16b
4470    13287980U,	// ST4Fourv16b_POST
4471    205356U,	// ST4Fourv2d
4472    13320748U,	// ST4Fourv2d_POST
4473    221740U,	// ST4Fourv2s
4474    13861420U,	// ST4Fourv2s_POST
4475    238124U,	// ST4Fourv4h
4476    13877804U,	// ST4Fourv4h_POST
4477    254508U,	// ST4Fourv4s
4478    13369900U,	// ST4Fourv4s_POST
4479    270892U,	// ST4Fourv8b
4480    13910572U,	// ST4Fourv8b_POST
4481    287276U,	// ST4Fourv8h
4482    13402668U,	// ST4Fourv8h_POST
4483    375032201U,	// ST4H
4484    375032201U,	// ST4H_IMM
4485    375010440U,	// ST4W
4486    375010440U,	// ST4W_IMM
4487    410156U,	// ST4i16
4488    1471455788U,	// ST4i16_POST
4489    418348U,	// ST4i32
4490    1538581036U,	// ST4i32_POST
4491    426540U,	// ST4i64
4492    1706369580U,	// ST4i64_POST
4493    434732U,	// ST4i8
4494    1437950508U,	// ST4i8_POST
4495    2253964715U,	// STLLRB
4496    2253966166U,	// STLLRH
4497    2253967648U,	// STLLRW
4498    2253967648U,	// STLLRX
4499    2253964723U,	// STLRB
4500    2253966174U,	// STLRH
4501    2253967661U,	// STLRW
4502    2253967661U,	// STLRX
4503    106481125U,	// STLURBi
4504    106482576U,	// STLURHi
4505    106484110U,	// STLURWi
4506    106484110U,	// STLURXi
4507    100716685U,	// STLXPW
4508    100716685U,	// STLXPX
4509    2248197644U,	// STLXRB
4510    2248199095U,	// STLXRH
4511    2248200645U,	// STLXRW
4512    2248200645U,	// STLXRX
4513    2248200251U,	// STNPDi
4514    2248200251U,	// STNPQi
4515    2248200251U,	// STNPSi
4516    2248200251U,	// STNPWi
4517    2248200251U,	// STNPXi
4518    375022474U,	// STNT1B_ZRI
4519    375022474U,	// STNT1B_ZRR
4520    374998878U,	// STNT1D_ZRI
4521    374998878U,	// STNT1D_ZRR
4522    375032140U,	// STNT1H_ZRI
4523    375032140U,	// STNT1H_ZRR
4524    375010388U,	// STNT1W_ZRI
4525    375010388U,	// STNT1W_ZRR
4526    2248200283U,	// STPDi
4527    2516676699U,	// STPDpost
4528    2516676699U,	// STPDpre
4529    2248200283U,	// STPQi
4530    2516676699U,	// STPQpost
4531    2516676699U,	// STPQpre
4532    2248200283U,	// STPSi
4533    2516676699U,	// STPSpost
4534    2516676699U,	// STPSpre
4535    2248200283U,	// STPWi
4536    2516676699U,	// STPWpost
4537    2516676699U,	// STPWpre
4538    2248200283U,	// STPXi
4539    2516676699U,	// STPXpost
4540    2516676699U,	// STPXpre
4541    374957521U,	// STRBBpost
4542    374957521U,	// STRBBpre
4543    106481105U,	// STRBBroW
4544    106481105U,	// STRBBroX
4545    106481105U,	// STRBBui
4546    374960503U,	// STRBpost
4547    374960503U,	// STRBpre
4548    106484087U,	// STRBroW
4549    106484087U,	// STRBroX
4550    106484087U,	// STRBui
4551    374960503U,	// STRDpost
4552    374960503U,	// STRDpre
4553    106484087U,	// STRDroW
4554    106484087U,	// STRDroX
4555    106484087U,	// STRDui
4556    374958972U,	// STRHHpost
4557    374958972U,	// STRHHpre
4558    106482556U,	// STRHHroW
4559    106482556U,	// STRHHroX
4560    106482556U,	// STRHHui
4561    374960503U,	// STRHpost
4562    374960503U,	// STRHpre
4563    106484087U,	// STRHroW
4564    106484087U,	// STRHroX
4565    106484087U,	// STRHui
4566    374960503U,	// STRQpost
4567    374960503U,	// STRQpre
4568    106484087U,	// STRQroW
4569    106484087U,	// STRQroX
4570    106484087U,	// STRQui
4571    374960503U,	// STRSpost
4572    374960503U,	// STRSpre
4573    106484087U,	// STRSroW
4574    106484087U,	// STRSroX
4575    106484087U,	// STRSui
4576    374960503U,	// STRWpost
4577    374960503U,	// STRWpre
4578    106484087U,	// STRWroW
4579    106484087U,	// STRWroX
4580    106484087U,	// STRWui
4581    374960503U,	// STRXpost
4582    374960503U,	// STRXpre
4583    106484087U,	// STRXroW
4584    106484087U,	// STRXroX
4585    106484087U,	// STRXui
4586    106803575U,	// STR_PXI
4587    106803575U,	// STR_ZXI
4588    106481111U,	// STTRBi
4589    106482562U,	// STTRHi
4590    106484092U,	// STTRWi
4591    106484092U,	// STTRXi
4592    106481142U,	// STURBBi
4593    106484125U,	// STURBi
4594    106484125U,	// STURDi
4595    106482593U,	// STURHHi
4596    106484125U,	// STURHi
4597    106484125U,	// STURQi
4598    106484125U,	// STURSi
4599    106484125U,	// STURWi
4600    106484125U,	// STURXi
4601    100716692U,	// STXPW
4602    100716692U,	// STXPX
4603    2248197652U,	// STXRB
4604    2248199103U,	// STXRH
4605    2248200652U,	// STXRW
4606    2248200652U,	// STXRX
4607    2216210137U,	// SUBHNv2i64_v2i32
4608    2284904778U,	// SUBHNv2i64_v4i32
4609    69775065U,	// SUBHNv4i32_v4i16
4610    137945418U,	// SUBHNv4i32_v8i16
4611    2282807626U,	// SUBHNv8i16_v16i8
4612    2218831577U,	// SUBHNv8i16_v8i8
4613    167784668U,	// SUBR_ZI_B
4614    201347292U,	// SUBR_ZI_D
4615    239628508U,	// SUBR_ZI_H
4616    268472540U,	// SUBR_ZI_S
4617    302002396U,	// SUBR_ZPmZ_B
4618    302010588U,	// SUBR_ZPmZ_D
4619    2186309852U,	// SUBR_ZPmZ_H
4620    302026972U,	// SUBR_ZPmZ_S
4621    100717066U,	// SUBSWri
4622    0U,	// SUBSWrr
4623    100717066U,	// SUBSWrs
4624    100717066U,	// SUBSWrx
4625    100717066U,	// SUBSXri
4626    0U,	// SUBSXrr
4627    100717066U,	// SUBSXrs
4628    100717066U,	// SUBSXrx
4629    100717066U,	// SUBSXrx64
4630    100714146U,	// SUBWri
4631    0U,	// SUBWrr
4632    100714146U,	// SUBWrs
4633    100714146U,	// SUBWrx
4634    100714146U,	// SUBXri
4635    0U,	// SUBXrr
4636    100714146U,	// SUBXrs
4637    100714146U,	// SUBXrx
4638    100714146U,	// SUBXrx64
4639    167782050U,	// SUB_ZI_B
4640    201344674U,	// SUB_ZI_D
4641    239625890U,	// SUB_ZI_H
4642    268469922U,	// SUB_ZI_S
4643    301999778U,	// SUB_ZPmZ_B
4644    302007970U,	// SUB_ZPmZ_D
4645    2186307234U,	// SUB_ZPmZ_H
4646    302024354U,	// SUB_ZPmZ_S
4647    167782050U,	// SUB_ZZZ_B
4648    201344674U,	// SUB_ZZZ_D
4649    2387109538U,	// SUB_ZZZ_H
4650    268469922U,	// SUB_ZZZ_S
4651    68200098U,	// SUBv16i8
4652    100714146U,	// SUBv1i64
4653    2216208034U,	// SUBv2i32
4654    2216732322U,	// SUBv2i64
4655    69772962U,	// SUBv4i16
4656    70297250U,	// SUBv4i32
4657    2218305186U,	// SUBv8i16
4658    2218829474U,	// SUBv8i8
4659    2415938650U,	// SUNPKHI_ZZ_D
4660    27290714U,	// SUNPKHI_ZZ_H
4661    2717944922U,	// SUNPKHI_ZZ_S
4662    2415939470U,	// SUNPKLO_ZZ_D
4663    27291534U,	// SUNPKLO_ZZ_H
4664    2717945742U,	// SUNPKLO_ZZ_S
4665    135325734U,	// SUQADDv16i8
4666    2516674598U,	// SUQADDv1i16
4667    2516674598U,	// SUQADDv1i32
4668    2516674598U,	// SUQADDv1i64
4669    2516674598U,	// SUQADDv1i8
4670    135850022U,	// SUQADDv2i32
4671    2283857958U,	// SUQADDv2i64
4672    136898598U,	// SUQADDv4i16
4673    2284906534U,	// SUQADDv4i32
4674    137947174U,	// SUQADDv8i16
4675    2285955110U,	// SUQADDv8i8
4676    75579U,	// SVC
4677    973169651U,	// SWPAB
4678    973171135U,	// SWPAH
4679    973169853U,	// SWPALB
4680    973171283U,	// SWPALH
4681    973171948U,	// SWPALW
4682    973171948U,	// SWPALX
4683    973169381U,	// SWPAW
4684    973169381U,	// SWPAX
4685    973170041U,	// SWPB
4686    973171492U,	// SWPH
4687    973169950U,	// SWPLB
4688    973171380U,	// SWPLH
4689    973172243U,	// SWPLW
4690    973172243U,	// SWPLX
4691    973172838U,	// SWPW
4692    973172838U,	// SWPX
4693    18069U,	// SXTB_ZPmZ_D
4694    2181588629U,	// SXTB_ZPmZ_H
4695    34453U,	// SXTB_ZPmZ_S
4696    19494U,	// SXTH_ZPmZ_D
4697    35878U,	// SXTH_ZPmZ_S
4698    21815U,	// SXTW_ZPmZ_D
4699    100716107U,	// SYSLxt
4700    1711329984U,	// SYSxt
4701    1744842025U,	// TBL_ZZZ_B
4702    1778404649U,	// TBL_ZZZ_D
4703    28863785U,	// TBL_ZZZ_H
4704    1811975465U,	// TBL_ZZZ_S
4705    1846586665U,	// TBLv16i8Four
4706    1846586665U,	// TBLv16i8One
4707    1846586665U,	// TBLv16i8Three
4708    1846586665U,	// TBLv16i8Two
4709    3997216041U,	// TBLv8i8Four
4710    3997216041U,	// TBLv8i8One
4711    3997216041U,	// TBLv8i8Three
4712    3997216041U,	// TBLv8i8Two
4713    100718059U,	// TBNZW
4714    100718059U,	// TBNZX
4715    1880159597U,	// TBXv16i8Four
4716    1880159597U,	// TBXv16i8One
4717    1880159597U,	// TBXv16i8Three
4718    1880159597U,	// TBXv16i8Two
4719    4030788973U,	// TBXv8i8Four
4720    4030788973U,	// TBXv8i8One
4721    4030788973U,	// TBXv8i8Three
4722    4030788973U,	// TBXv8i8Two
4723    100718043U,	// TBZW
4724    100718043U,	// TBZX
4725    0U,	// TCRETURNdi
4726    0U,	// TCRETURNri
4727    6346239U,	// TLSDESCCALL
4728    0U,	// TLSDESC_CALLSEQ
4729    167780389U,	// TRN1_PPP_B
4730    201343013U,	// TRN1_PPP_D
4731    2387107877U,	// TRN1_PPP_H
4732    268468261U,	// TRN1_PPP_S
4733    167780389U,	// TRN1_ZZZ_B
4734    201343013U,	// TRN1_ZZZ_D
4735    2387107877U,	// TRN1_ZZZ_H
4736    268468261U,	// TRN1_ZZZ_S
4737    68198437U,	// TRN1v16i8
4738    2216206373U,	// TRN1v2i32
4739    2216730661U,	// TRN1v2i64
4740    69771301U,	// TRN1v4i16
4741    70295589U,	// TRN1v4i32
4742    2218303525U,	// TRN1v8i16
4743    2218827813U,	// TRN1v8i8
4744    167780737U,	// TRN2_PPP_B
4745    201343361U,	// TRN2_PPP_D
4746    2387108225U,	// TRN2_PPP_H
4747    268468609U,	// TRN2_PPP_S
4748    167780737U,	// TRN2_ZZZ_B
4749    201343361U,	// TRN2_ZZZ_D
4750    2387108225U,	// TRN2_ZZZ_H
4751    268468609U,	// TRN2_ZZZ_S
4752    68198785U,	// TRN2v16i8
4753    2216206721U,	// TRN2v2i32
4754    2216731009U,	// TRN2v2i64
4755    69771649U,	// TRN2v4i16
4756    70295937U,	// TRN2v4i32
4757    2218303873U,	// TRN2v8i16
4758    2218828161U,	// TRN2v8i8
4759    116346U,	// TSB
4760    137945251U,	// UABALv16i8_v8i16
4761    2283859113U,	// UABALv2i32_v2i64
4762    137424041U,	// UABALv4i16_v4i32
4763    136372387U,	// UABALv4i32_v2i64
4764    2284904611U,	// UABALv8i16_v4i32
4765    2285431977U,	// UABALv8i8_v8i16
4766    135324275U,	// UABAv16i8
4767    2283332211U,	// UABAv2i32
4768    136897139U,	// UABAv4i16
4769    137421427U,	// UABAv4i32
4770    2285429363U,	// UABAv8i16
4771    2285953651U,	// UABAv8i8
4772    70820061U,	// UABDLv16i8_v8i16
4773    2216734035U,	// UABDLv2i32_v2i64
4774    70298963U,	// UABDLv4i16_v4i32
4775    69247197U,	// UABDLv4i32_v2i64
4776    2217779421U,	// UABDLv8i16_v4i32
4777    2218306899U,	// UABDLv8i8_v8i16
4778    302000048U,	// UABD_ZPmZ_B
4779    302008240U,	// UABD_ZPmZ_D
4780    2186307504U,	// UABD_ZPmZ_H
4781    302024624U,	// UABD_ZPmZ_S
4782    68200368U,	// UABDv16i8
4783    2216208304U,	// UABDv2i32
4784    69773232U,	// UABDv4i16
4785    70297520U,	// UABDv4i32
4786    2218305456U,	// UABDv8i16
4787    2218829744U,	// UABDv8i8
4788    137949161U,	// UADALPv16i8_v8i16
4789    162066409U,	// UADALPv2i32_v1i64
4790    135852009U,	// UADALPv4i16_v2i32
4791    2283859945U,	// UADALPv4i32_v2i64
4792    137424873U,	// UADALPv8i16_v4i32
4793    2284384233U,	// UADALPv8i8_v4i16
4794    70823929U,	// UADDLPv16i8_v8i16
4795    94941177U,	// UADDLPv2i32_v1i64
4796    68726777U,	// UADDLPv4i16_v2i32
4797    2216734713U,	// UADDLPv4i32_v2i64
4798    70299641U,	// UADDLPv8i16_v4i32
4799    2217259001U,	// UADDLPv8i8_v4i16
4800    67163091U,	// UADDLVv16i8v
4801    67163091U,	// UADDLVv4i16v
4802    2214646739U,	// UADDLVv4i32v
4803    67163091U,	// UADDLVv8i16v
4804    2214646739U,	// UADDLVv8i8v
4805    70820077U,	// UADDLv16i8_v8i16
4806    2216734073U,	// UADDLv2i32_v2i64
4807    70299001U,	// UADDLv4i16_v4i32
4808    69247213U,	// UADDLv4i32_v2i64
4809    2217779437U,	// UADDLv8i16_v4i32
4810    2218306937U,	// UADDLv8i8_v8i16
4811    302044071U,	// UADDV_VPZ_B
4812    302044071U,	// UADDV_VPZ_D
4813    302044071U,	// UADDV_VPZ_H
4814    302044071U,	// UADDV_VPZ_S
4815    2218303990U,	// UADDWv16i8_v8i16
4816    2216735948U,	// UADDWv2i32_v2i64
4817    70300876U,	// UADDWv4i16_v4i32
4818    2216731126U,	// UADDWv4i32_v2i64
4819    70296054U,	// UADDWv8i16_v4i32
4820    2218308812U,	// UADDWv8i8_v8i16
4821    100716199U,	// UBFMWri
4822    100716199U,	// UBFMXri
4823    100714764U,	// UCVTFSWDri
4824    100714764U,	// UCVTFSWHri
4825    100714764U,	// UCVTFSWSri
4826    100714764U,	// UCVTFSXDri
4827    100714764U,	// UCVTFSXHri
4828    100714764U,	// UCVTFSXSri
4829    2248198412U,	// UCVTFUWDri
4830    2248198412U,	// UCVTFUWHri
4831    2248198412U,	// UCVTFUWSri
4832    2248198412U,	// UCVTFUXDri
4833    2248198412U,	// UCVTFUXHri
4834    2248198412U,	// UCVTFUXSri
4835    18700U,	// UCVTF_ZPmZ_DtoD
4836    2181589260U,	// UCVTF_ZPmZ_DtoH
4837    35084U,	// UCVTF_ZPmZ_DtoS
4838    2181589260U,	// UCVTF_ZPmZ_HtoH
4839    18700U,	// UCVTF_ZPmZ_StoD
4840    2181589260U,	// UCVTF_ZPmZ_StoH
4841    35084U,	// UCVTF_ZPmZ_StoS
4842    100714764U,	// UCVTFd
4843    100714764U,	// UCVTFh
4844    100714764U,	// UCVTFs
4845    2248198412U,	// UCVTFv1i16
4846    2248198412U,	// UCVTFv1i32
4847    2248198412U,	// UCVTFv1i64
4848    68725004U,	// UCVTFv2f32
4849    2216732940U,	// UCVTFv2f64
4850    2216208652U,	// UCVTFv2i32_shift
4851    2216732940U,	// UCVTFv2i64_shift
4852    69773580U,	// UCVTFv4f16
4853    2217781516U,	// UCVTFv4f32
4854    69773580U,	// UCVTFv4i16_shift
4855    70297868U,	// UCVTFv4i32_shift
4856    70822156U,	// UCVTFv8f16
4857    2218305804U,	// UCVTFv8i16_shift
4858    302010801U,	// UDIVR_ZPmZ_D
4859    302027185U,	// UDIVR_ZPmZ_S
4860    100717509U,	// UDIVWr
4861    100717509U,	// UDIVXr
4862    302011333U,	// UDIV_ZPmZ_D
4863    302027717U,	// UDIV_ZPmZ_S
4864    3422573363U,	// UDOT_ZZZI_D
4865    3456144179U,	// UDOT_ZZZI_S
4866    3422573363U,	// UDOT_ZZZ_D
4867    3456144179U,	// UDOT_ZZZ_S
4868    137425715U,	// UDOTlanev16i8
4869    2283336499U,	// UDOTlanev8i8
4870    137425715U,	// UDOTv16i8
4871    2283336499U,	// UDOTv8i8
4872    68200456U,	// UHADDv16i8
4873    2216208392U,	// UHADDv2i32
4874    69773320U,	// UHADDv4i16
4875    70297608U,	// UHADDv4i32
4876    2218305544U,	// UHADDv8i16
4877    2218829832U,	// UHADDv8i8
4878    68200110U,	// UHSUBv16i8
4879    2216208046U,	// UHSUBv2i32
4880    69772974U,	// UHSUBv4i16
4881    70297262U,	// UHSUBv4i32
4882    2218305198U,	// UHSUBv8i16
4883    2218829486U,	// UHSUBv8i8
4884    100715882U,	// UMADDLrrr
4885    68202624U,	// UMAXPv16i8
4886    2216210560U,	// UMAXPv2i32
4887    69775488U,	// UMAXPv4i16
4888    70299776U,	// UMAXPv4i32
4889    2218307712U,	// UMAXPv8i16
4890    2218832000U,	// UMAXPv8i8
4891    302044207U,	// UMAXV_VPZ_B
4892    302044207U,	// UMAXV_VPZ_D
4893    302044207U,	// UMAXV_VPZ_H
4894    302044207U,	// UMAXV_VPZ_S
4895    67163183U,	// UMAXVv16i8v
4896    67163183U,	// UMAXVv4i16v
4897    2214646831U,	// UMAXVv4i32v
4898    67163183U,	// UMAXVv8i16v
4899    2214646831U,	// UMAXVv8i8v
4900    167785831U,	// UMAX_ZI_B
4901    201348455U,	// UMAX_ZI_D
4902    239629671U,	// UMAX_ZI_H
4903    268473703U,	// UMAX_ZI_S
4904    302003559U,	// UMAX_ZPmZ_B
4905    302011751U,	// UMAX_ZPmZ_D
4906    2186311015U,	// UMAX_ZPmZ_H
4907    302028135U,	// UMAX_ZPmZ_S
4908    68203879U,	// UMAXv16i8
4909    2216211815U,	// UMAXv2i32
4910    69776743U,	// UMAXv4i16
4911    70301031U,	// UMAXv4i32
4912    2218308967U,	// UMAXv8i16
4913    2218833255U,	// UMAXv8i8
4914    68202548U,	// UMINPv16i8
4915    2216210484U,	// UMINPv2i32
4916    69775412U,	// UMINPv4i16
4917    70299700U,	// UMINPv4i32
4918    2218307636U,	// UMINPv8i16
4919    2218831924U,	// UMINPv8i8
4920    302044155U,	// UMINV_VPZ_B
4921    302044155U,	// UMINV_VPZ_D
4922    302044155U,	// UMINV_VPZ_H
4923    302044155U,	// UMINV_VPZ_S
4924    67163131U,	// UMINVv16i8v
4925    67163131U,	// UMINVv4i16v
4926    2214646779U,	// UMINVv4i32v
4927    67163131U,	// UMINVv8i16v
4928    2214646779U,	// UMINVv8i8v
4929    167784184U,	// UMIN_ZI_B
4930    201346808U,	// UMIN_ZI_D
4931    239628024U,	// UMIN_ZI_H
4932    268472056U,	// UMIN_ZI_S
4933    302001912U,	// UMIN_ZPmZ_B
4934    302010104U,	// UMIN_ZPmZ_D
4935    2186309368U,	// UMIN_ZPmZ_H
4936    302026488U,	// UMIN_ZPmZ_S
4937    68202232U,	// UMINv16i8
4938    2216210168U,	// UMINv2i32
4939    69775096U,	// UMINv4i16
4940    70299384U,	// UMINv4i32
4941    2218307320U,	// UMINv8i16
4942    2218831608U,	// UMINv8i8
4943    137945277U,	// UMLALv16i8_v8i16
4944    2283859145U,	// UMLALv2i32_indexed
4945    2283859145U,	// UMLALv2i32_v2i64
4946    137424073U,	// UMLALv4i16_indexed
4947    137424073U,	// UMLALv4i16_v4i32
4948    136372413U,	// UMLALv4i32_indexed
4949    136372413U,	// UMLALv4i32_v2i64
4950    2284904637U,	// UMLALv8i16_indexed
4951    2284904637U,	// UMLALv8i16_v4i32
4952    2285432009U,	// UMLALv8i8_v8i16
4953    137945401U,	// UMLSLv16i8_v8i16
4954    2283859524U,	// UMLSLv2i32_indexed
4955    2283859524U,	// UMLSLv2i32_v2i64
4956    137424452U,	// UMLSLv4i16_indexed
4957    137424452U,	// UMLSLv4i16_v4i32
4958    136372537U,	// UMLSLv4i32_indexed
4959    136372537U,	// UMLSLv4i32_v2i64
4960    2284904761U,	// UMLSLv8i16_indexed
4961    2284904761U,	// UMLSLv8i16_v4i32
4962    2285432388U,	// UMLSLv8i8_v8i16
4963    67163157U,	// UMOVvi16
4964    2214646805U,	// UMOVvi32
4965    67163157U,	// UMOVvi64
4966    2214646805U,	// UMOVvi8
4967    100715830U,	// UMSUBLrrr
4968    302000887U,	// UMULH_ZPmZ_B
4969    302009079U,	// UMULH_ZPmZ_D
4970    2186308343U,	// UMULH_ZPmZ_H
4971    302025463U,	// UMULH_ZPmZ_S
4972    100715255U,	// UMULHrr
4973    70820127U,	// UMULLv16i8_v8i16
4974    2216734188U,	// UMULLv2i32_indexed
4975    2216734188U,	// UMULLv2i32_v2i64
4976    70299116U,	// UMULLv4i16_indexed
4977    70299116U,	// UMULLv4i16_v4i32
4978    69247263U,	// UMULLv4i32_indexed
4979    69247263U,	// UMULLv4i32_v2i64
4980    2217779487U,	// UMULLv8i16_indexed
4981    2217779487U,	// UMULLv8i16_v4i32
4982    2218307052U,	// UMULLv8i8_v8i16
4983    167782439U,	// UQADD_ZI_B
4984    201345063U,	// UQADD_ZI_D
4985    239626279U,	// UQADD_ZI_H
4986    268470311U,	// UQADD_ZI_S
4987    167782439U,	// UQADD_ZZZ_B
4988    201345063U,	// UQADD_ZZZ_D
4989    2387109927U,	// UQADD_ZZZ_H
4990    268470311U,	// UQADD_ZZZ_S
4991    68200487U,	// UQADDv16i8
4992    100714535U,	// UQADDv1i16
4993    100714535U,	// UQADDv1i32
4994    100714535U,	// UQADDv1i64
4995    100714535U,	// UQADDv1i8
4996    2216208423U,	// UQADDv2i32
4997    2216732711U,	// UQADDv2i64
4998    69773351U,	// UQADDv4i16
4999    70297639U,	// UQADDv4i32
5000    2218305575U,	// UQADDv8i16
5001    2218829863U,	// UQADDv8i8
5002    536921173U,	// UQDECB_WPiI
5003    536921173U,	// UQDECB_XPiI
5004    536922053U,	// UQDECD_WPiI
5005    536922053U,	// UQDECD_XPiI
5006    536889285U,	// UQDECD_ZPiI
5007    536922637U,	// UQDECH_WPiI
5008    536922637U,	// UQDECH_XPiI
5009    6842893U,	// UQDECH_ZPiI
5010    2315308989U,	// UQDECP_WP_B
5011    2348863421U,	// UQDECP_WP_D
5012    2717962173U,	// UQDECP_WP_H
5013    2415972285U,	// UQDECP_WP_S
5014    2315308989U,	// UQDECP_XP_B
5015    2348863421U,	// UQDECP_XP_D
5016    2717962173U,	// UQDECP_XP_H
5017    2415972285U,	// UQDECP_XP_S
5018    2147504061U,	// UQDECP_ZP_D
5019    604532669U,	// UQDECP_ZP_H
5020    2147520445U,	// UQDECP_ZP_S
5021    536925357U,	// UQDECW_WPiI
5022    536925357U,	// UQDECW_XPiI
5023    536908973U,	// UQDECW_ZPiI
5024    536921189U,	// UQINCB_WPiI
5025    536921189U,	// UQINCB_XPiI
5026    536922069U,	// UQINCD_WPiI
5027    536922069U,	// UQINCD_XPiI
5028    536889301U,	// UQINCD_ZPiI
5029    536922653U,	// UQINCH_WPiI
5030    536922653U,	// UQINCH_XPiI
5031    6842909U,	// UQINCH_ZPiI
5032    2315309005U,	// UQINCP_WP_B
5033    2348863437U,	// UQINCP_WP_D
5034    2717962189U,	// UQINCP_WP_H
5035    2415972301U,	// UQINCP_WP_S
5036    2315309005U,	// UQINCP_XP_B
5037    2348863437U,	// UQINCP_XP_D
5038    2717962189U,	// UQINCP_XP_H
5039    2415972301U,	// UQINCP_XP_S
5040    2147504077U,	// UQINCP_ZP_D
5041    604532685U,	// UQINCP_ZP_H
5042    2147520461U,	// UQINCP_ZP_S
5043    536925373U,	// UQINCW_WPiI
5044    536925373U,	// UQINCW_XPiI
5045    536908989U,	// UQINCW_ZPiI
5046    68201893U,	// UQRSHLv16i8
5047    100715941U,	// UQRSHLv1i16
5048    100715941U,	// UQRSHLv1i32
5049    100715941U,	// UQRSHLv1i64
5050    100715941U,	// UQRSHLv1i8
5051    2216209829U,	// UQRSHLv2i32
5052    2216734117U,	// UQRSHLv2i64
5053    69774757U,	// UQRSHLv4i16
5054    70299045U,	// UQRSHLv4i32
5055    2218306981U,	// UQRSHLv8i16
5056    2218831269U,	// UQRSHLv8i8
5057    100716328U,	// UQRSHRNb
5058    100716328U,	// UQRSHRNh
5059    100716328U,	// UQRSHRNs
5060    2282807671U,	// UQRSHRNv16i8_shift
5061    2216210216U,	// UQRSHRNv2i32_shift
5062    69775144U,	// UQRSHRNv4i16_shift
5063    2284904823U,	// UQRSHRNv4i32_shift
5064    137945463U,	// UQRSHRNv8i16_shift
5065    2218831656U,	// UQRSHRNv8i8_shift
5066    100715926U,	// UQSHLb
5067    100715926U,	// UQSHLd
5068    100715926U,	// UQSHLh
5069    100715926U,	// UQSHLs
5070    68201878U,	// UQSHLv16i8
5071    68201878U,	// UQSHLv16i8_shift
5072    100715926U,	// UQSHLv1i16
5073    100715926U,	// UQSHLv1i32
5074    100715926U,	// UQSHLv1i64
5075    100715926U,	// UQSHLv1i8
5076    2216209814U,	// UQSHLv2i32
5077    2216209814U,	// UQSHLv2i32_shift
5078    2216734102U,	// UQSHLv2i64
5079    2216734102U,	// UQSHLv2i64_shift
5080    69774742U,	// UQSHLv4i16
5081    69774742U,	// UQSHLv4i16_shift
5082    70299030U,	// UQSHLv4i32
5083    70299030U,	// UQSHLv4i32_shift
5084    2218306966U,	// UQSHLv8i16
5085    2218306966U,	// UQSHLv8i16_shift
5086    2218831254U,	// UQSHLv8i8
5087    2218831254U,	// UQSHLv8i8_shift
5088    100716311U,	// UQSHRNb
5089    100716311U,	// UQSHRNh
5090    100716311U,	// UQSHRNs
5091    2282807652U,	// UQSHRNv16i8_shift
5092    2216210199U,	// UQSHRNv2i32_shift
5093    69775127U,	// UQSHRNv4i16_shift
5094    2284904804U,	// UQSHRNv4i32_shift
5095    137945444U,	// UQSHRNv8i16_shift
5096    2218831639U,	// UQSHRNv8i8_shift
5097    167782091U,	// UQSUB_ZI_B
5098    201344715U,	// UQSUB_ZI_D
5099    239625931U,	// UQSUB_ZI_H
5100    268469963U,	// UQSUB_ZI_S
5101    167782091U,	// UQSUB_ZZZ_B
5102    201344715U,	// UQSUB_ZZZ_D
5103    2387109579U,	// UQSUB_ZZZ_H
5104    268469963U,	// UQSUB_ZZZ_S
5105    68200139U,	// UQSUBv16i8
5106    100714187U,	// UQSUBv1i16
5107    100714187U,	// UQSUBv1i32
5108    100714187U,	// UQSUBv1i64
5109    100714187U,	// UQSUBv1i8
5110    2216208075U,	// UQSUBv2i32
5111    2216732363U,	// UQSUBv2i64
5112    69773003U,	// UQSUBv4i16
5113    70297291U,	// UQSUBv4i32
5114    2218305227U,	// UQSUBv8i16
5115    2218829515U,	// UQSUBv8i8
5116    135324055U,	// UQXTNv16i8
5117    2248200012U,	// UQXTNv1i16
5118    2248200012U,	// UQXTNv1i32
5119    2248200012U,	// UQXTNv1i8
5120    2216210252U,	// UQXTNv2i32
5121    2217258828U,	// UQXTNv4i16
5122    2284904855U,	// UQXTNv4i32
5123    2285429143U,	// UQXTNv8i16
5124    71348044U,	// UQXTNv8i8
5125    68724924U,	// URECPEv2i32
5126    2217781436U,	// URECPEv4i32
5127    68200441U,	// URHADDv16i8
5128    2216208377U,	// URHADDv2i32
5129    69773305U,	// URHADDv4i16
5130    70297593U,	// URHADDv4i32
5131    2218305529U,	// URHADDv8i16
5132    2218829817U,	// URHADDv8i8
5133    68201908U,	// URSHLv16i8
5134    100715956U,	// URSHLv1i64
5135    2216209844U,	// URSHLv2i32
5136    2216734132U,	// URSHLv2i64
5137    69774772U,	// URSHLv4i16
5138    70299060U,	// URSHLv4i32
5139    2218306996U,	// URSHLv8i16
5140    2218831284U,	// URSHLv8i8
5141    100716801U,	// URSHRd
5142    68202753U,	// URSHRv16i8_shift
5143    2216210689U,	// URSHRv2i32_shift
5144    2216734977U,	// URSHRv2i64_shift
5145    69775617U,	// URSHRv4i16_shift
5146    70299905U,	// URSHRv4i32_shift
5147    2218307841U,	// URSHRv8i16_shift
5148    2218832129U,	// URSHRv8i8_shift
5149    68724970U,	// URSQRTEv2i32
5150    2217781482U,	// URSQRTEv4i32
5151    369189641U,	// URSRAd
5152    135324425U,	// URSRAv16i8_shift
5153    2283332361U,	// URSRAv2i32_shift
5154    2283856649U,	// URSRAv2i64_shift
5155    136897289U,	// URSRAv4i16_shift
5156    137421577U,	// URSRAv4i32_shift
5157    2285429513U,	// URSRAv8i16_shift
5158    2285953801U,	// URSRAv8i8_shift
5159    70820093U,	// USHLLv16i8_shift
5160    2216734158U,	// USHLLv2i32_shift
5161    70299086U,	// USHLLv4i16_shift
5162    69247229U,	// USHLLv4i32_shift
5163    2217779453U,	// USHLLv8i16_shift
5164    2218307022U,	// USHLLv8i8_shift
5165    68201921U,	// USHLv16i8
5166    100715969U,	// USHLv1i64
5167    2216209857U,	// USHLv2i32
5168    2216734145U,	// USHLv2i64
5169    69774785U,	// USHLv4i16
5170    70299073U,	// USHLv4i32
5171    2218307009U,	// USHLv8i16
5172    2218831297U,	// USHLv8i8
5173    100716814U,	// USHRd
5174    68202766U,	// USHRv16i8_shift
5175    2216210702U,	// USHRv2i32_shift
5176    2216734990U,	// USHRv2i64_shift
5177    69775630U,	// USHRv4i16_shift
5178    70299918U,	// USHRv4i32_shift
5179    2218307854U,	// USHRv8i16_shift
5180    2218832142U,	// USHRv8i8_shift
5181    135325726U,	// USQADDv16i8
5182    2516674590U,	// USQADDv1i16
5183    2516674590U,	// USQADDv1i32
5184    2516674590U,	// USQADDv1i64
5185    2516674590U,	// USQADDv1i8
5186    135850014U,	// USQADDv2i32
5187    2283857950U,	// USQADDv2i64
5188    136898590U,	// USQADDv4i16
5189    2284906526U,	// USQADDv4i32
5190    137947166U,	// USQADDv8i16
5191    2285955102U,	// USQADDv8i8
5192    369189654U,	// USRAd
5193    135324438U,	// USRAv16i8_shift
5194    2283332374U,	// USRAv2i32_shift
5195    2283856662U,	// USRAv2i64_shift
5196    136897302U,	// USRAv4i16_shift
5197    137421590U,	// USRAv4i32_shift
5198    2285429526U,	// USRAv8i16_shift
5199    2285953814U,	// USRAv8i8_shift
5200    70820045U,	// USUBLv16i8_v8i16
5201    2216734021U,	// USUBLv2i32_v2i64
5202    70298949U,	// USUBLv4i16_v4i32
5203    69247181U,	// USUBLv4i32_v2i64
5204    2217779405U,	// USUBLv8i16_v4i32
5205    2218306885U,	// USUBLv8i8_v8i16
5206    2218303974U,	// USUBWv16i8_v8i16
5207    2216735893U,	// USUBWv2i32_v2i64
5208    70300821U,	// USUBWv4i16_v4i32
5209    2216731110U,	// USUBWv4i32_v2i64
5210    70296038U,	// USUBWv8i16_v4i32
5211    2218308757U,	// USUBWv8i8_v8i16
5212    2415938659U,	// UUNPKHI_ZZ_D
5213    27290723U,	// UUNPKHI_ZZ_H
5214    2717944931U,	// UUNPKHI_ZZ_S
5215    2415939479U,	// UUNPKLO_ZZ_D
5216    27291543U,	// UUNPKLO_ZZ_H
5217    2717945751U,	// UUNPKLO_ZZ_S
5218    18075U,	// UXTB_ZPmZ_D
5219    2181588635U,	// UXTB_ZPmZ_H
5220    34459U,	// UXTB_ZPmZ_S
5221    19500U,	// UXTH_ZPmZ_D
5222    35884U,	// UXTH_ZPmZ_S
5223    21821U,	// UXTW_ZPmZ_D
5224    167780401U,	// UZP1_PPP_B
5225    201343025U,	// UZP1_PPP_D
5226    2387107889U,	// UZP1_PPP_H
5227    268468273U,	// UZP1_PPP_S
5228    167780401U,	// UZP1_ZZZ_B
5229    201343025U,	// UZP1_ZZZ_D
5230    2387107889U,	// UZP1_ZZZ_H
5231    268468273U,	// UZP1_ZZZ_S
5232    68198449U,	// UZP1v16i8
5233    2216206385U,	// UZP1v2i32
5234    2216730673U,	// UZP1v2i64
5235    69771313U,	// UZP1v4i16
5236    70295601U,	// UZP1v4i32
5237    2218303537U,	// UZP1v8i16
5238    2218827825U,	// UZP1v8i8
5239    167780812U,	// UZP2_PPP_B
5240    201343436U,	// UZP2_PPP_D
5241    2387108300U,	// UZP2_PPP_H
5242    268468684U,	// UZP2_PPP_S
5243    167780812U,	// UZP2_ZZZ_B
5244    201343436U,	// UZP2_ZZZ_D
5245    2387108300U,	// UZP2_ZZZ_H
5246    268468684U,	// UZP2_ZZZ_S
5247    68198860U,	// UZP2v16i8
5248    2216206796U,	// UZP2v2i32
5249    2216731084U,	// UZP2v2i64
5250    69771724U,	// UZP2v4i16
5251    70296012U,	// UZP2v4i32
5252    2218303948U,	// UZP2v8i16
5253    2218828236U,	// UZP2v8i8
5254    100673670U,	// WHILELE_PWW_B
5255    100681862U,	// WHILELE_PWW_D
5256    242772102U,	// WHILELE_PWW_H
5257    100698246U,	// WHILELE_PWW_S
5258    100673670U,	// WHILELE_PXX_B
5259    100681862U,	// WHILELE_PXX_D
5260    242772102U,	// WHILELE_PXX_H
5261    100698246U,	// WHILELE_PXX_S
5262    100675452U,	// WHILELO_PWW_B
5263    100683644U,	// WHILELO_PWW_D
5264    242773884U,	// WHILELO_PWW_H
5265    100700028U,	// WHILELO_PWW_S
5266    100675452U,	// WHILELO_PXX_B
5267    100683644U,	// WHILELO_PXX_D
5268    242773884U,	// WHILELO_PXX_H
5269    100700028U,	// WHILELO_PXX_S
5270    100676169U,	// WHILELS_PWW_B
5271    100684361U,	// WHILELS_PWW_D
5272    242774601U,	// WHILELS_PWW_H
5273    100700745U,	// WHILELS_PWW_S
5274    100676169U,	// WHILELS_PXX_B
5275    100684361U,	// WHILELS_PXX_D
5276    242774601U,	// WHILELS_PXX_H
5277    100700745U,	// WHILELS_PXX_S
5278    100676358U,	// WHILELT_PWW_B
5279    100684550U,	// WHILELT_PWW_D
5280    242774790U,	// WHILELT_PWW_H
5281    100700934U,	// WHILELT_PWW_S
5282    100676358U,	// WHILELT_PXX_B
5283    100684550U,	// WHILELT_PXX_D
5284    242774790U,	// WHILELT_PXX_H
5285    100700934U,	// WHILELT_PXX_S
5286    6303987U,	// WRFFR
5287    2216734934U,	// XAR
5288    6342582U,	// XPACD
5289    6343754U,	// XPACI
5290    5905U,	// XPACLRI
5291    135324049U,	// XTNv16i8
5292    2216210247U,	// XTNv2i32
5293    2217258823U,	// XTNv4i16
5294    2284904849U,	// XTNv4i32
5295    2285429137U,	// XTNv8i16
5296    71348039U,	// XTNv8i8
5297    167780395U,	// ZIP1_PPP_B
5298    201343019U,	// ZIP1_PPP_D
5299    2387107883U,	// ZIP1_PPP_H
5300    268468267U,	// ZIP1_PPP_S
5301    167780395U,	// ZIP1_ZZZ_B
5302    201343019U,	// ZIP1_ZZZ_D
5303    2387107883U,	// ZIP1_ZZZ_H
5304    268468267U,	// ZIP1_ZZZ_S
5305    68198443U,	// ZIP1v16i8
5306    2216206379U,	// ZIP1v2i32
5307    2216730667U,	// ZIP1v2i64
5308    69771307U,	// ZIP1v4i16
5309    70295595U,	// ZIP1v4i32
5310    2218303531U,	// ZIP1v8i16
5311    2218827819U,	// ZIP1v8i8
5312    167780806U,	// ZIP2_PPP_B
5313    201343430U,	// ZIP2_PPP_D
5314    2387108294U,	// ZIP2_PPP_H
5315    268468678U,	// ZIP2_PPP_S
5316    167780806U,	// ZIP2_ZZZ_B
5317    201343430U,	// ZIP2_ZZZ_D
5318    2387108294U,	// ZIP2_ZZZ_H
5319    268468678U,	// ZIP2_ZZZ_S
5320    68198854U,	// ZIP2v16i8
5321    2216206790U,	// ZIP2v2i32
5322    2216731078U,	// ZIP2v2i64
5323    69771718U,	// ZIP2v4i16
5324    70296006U,	// ZIP2v4i32
5325    2218303942U,	// ZIP2v8i16
5326    2218828230U,	// ZIP2v8i8
5327    302003021U,	// anonymous_1349
5328  };
5329
5330  static const uint32_t OpInfo1[] = {
5331    0U,	// PHI
5332    0U,	// INLINEASM
5333    0U,	// CFI_INSTRUCTION
5334    0U,	// EH_LABEL
5335    0U,	// GC_LABEL
5336    0U,	// ANNOTATION_LABEL
5337    0U,	// KILL
5338    0U,	// EXTRACT_SUBREG
5339    0U,	// INSERT_SUBREG
5340    0U,	// IMPLICIT_DEF
5341    0U,	// SUBREG_TO_REG
5342    0U,	// COPY_TO_REGCLASS
5343    0U,	// DBG_VALUE
5344    0U,	// DBG_LABEL
5345    0U,	// REG_SEQUENCE
5346    0U,	// COPY
5347    0U,	// BUNDLE
5348    0U,	// LIFETIME_START
5349    0U,	// LIFETIME_END
5350    0U,	// STACKMAP
5351    0U,	// FENTRY_CALL
5352    0U,	// PATCHPOINT
5353    0U,	// LOAD_STACK_GUARD
5354    0U,	// STATEPOINT
5355    0U,	// LOCAL_ESCAPE
5356    0U,	// FAULTING_OP
5357    0U,	// PATCHABLE_OP
5358    0U,	// PATCHABLE_FUNCTION_ENTER
5359    0U,	// PATCHABLE_RET
5360    0U,	// PATCHABLE_FUNCTION_EXIT
5361    0U,	// PATCHABLE_TAIL_CALL
5362    0U,	// PATCHABLE_EVENT_CALL
5363    0U,	// PATCHABLE_TYPED_EVENT_CALL
5364    0U,	// ICALL_BRANCH_FUNNEL
5365    0U,	// G_ADD
5366    0U,	// G_SUB
5367    0U,	// G_MUL
5368    0U,	// G_SDIV
5369    0U,	// G_UDIV
5370    0U,	// G_SREM
5371    0U,	// G_UREM
5372    0U,	// G_AND
5373    0U,	// G_OR
5374    0U,	// G_XOR
5375    0U,	// G_IMPLICIT_DEF
5376    0U,	// G_PHI
5377    0U,	// G_FRAME_INDEX
5378    0U,	// G_GLOBAL_VALUE
5379    0U,	// G_EXTRACT
5380    0U,	// G_UNMERGE_VALUES
5381    0U,	// G_INSERT
5382    0U,	// G_MERGE_VALUES
5383    0U,	// G_PTRTOINT
5384    0U,	// G_INTTOPTR
5385    0U,	// G_BITCAST
5386    0U,	// G_LOAD
5387    0U,	// G_SEXTLOAD
5388    0U,	// G_ZEXTLOAD
5389    0U,	// G_STORE
5390    0U,	// G_ATOMIC_CMPXCHG_WITH_SUCCESS
5391    0U,	// G_ATOMIC_CMPXCHG
5392    0U,	// G_ATOMICRMW_XCHG
5393    0U,	// G_ATOMICRMW_ADD
5394    0U,	// G_ATOMICRMW_SUB
5395    0U,	// G_ATOMICRMW_AND
5396    0U,	// G_ATOMICRMW_NAND
5397    0U,	// G_ATOMICRMW_OR
5398    0U,	// G_ATOMICRMW_XOR
5399    0U,	// G_ATOMICRMW_MAX
5400    0U,	// G_ATOMICRMW_MIN
5401    0U,	// G_ATOMICRMW_UMAX
5402    0U,	// G_ATOMICRMW_UMIN
5403    0U,	// G_BRCOND
5404    0U,	// G_BRINDIRECT
5405    0U,	// G_INTRINSIC
5406    0U,	// G_INTRINSIC_W_SIDE_EFFECTS
5407    0U,	// G_ANYEXT
5408    0U,	// G_TRUNC
5409    0U,	// G_CONSTANT
5410    0U,	// G_FCONSTANT
5411    0U,	// G_VASTART
5412    0U,	// G_VAARG
5413    0U,	// G_SEXT
5414    0U,	// G_ZEXT
5415    0U,	// G_SHL
5416    0U,	// G_LSHR
5417    0U,	// G_ASHR
5418    0U,	// G_ICMP
5419    0U,	// G_FCMP
5420    0U,	// G_SELECT
5421    0U,	// G_UADDE
5422    0U,	// G_USUBE
5423    0U,	// G_SADDO
5424    0U,	// G_SSUBO
5425    0U,	// G_UMULO
5426    0U,	// G_SMULO
5427    0U,	// G_UMULH
5428    0U,	// G_SMULH
5429    0U,	// G_FADD
5430    0U,	// G_FSUB
5431    0U,	// G_FMUL
5432    0U,	// G_FMA
5433    0U,	// G_FDIV
5434    0U,	// G_FREM
5435    0U,	// G_FPOW
5436    0U,	// G_FEXP
5437    0U,	// G_FEXP2
5438    0U,	// G_FLOG
5439    0U,	// G_FLOG2
5440    0U,	// G_FNEG
5441    0U,	// G_FPEXT
5442    0U,	// G_FPTRUNC
5443    0U,	// G_FPTOSI
5444    0U,	// G_FPTOUI
5445    0U,	// G_SITOFP
5446    0U,	// G_UITOFP
5447    0U,	// G_FABS
5448    0U,	// G_GEP
5449    0U,	// G_PTR_MASK
5450    0U,	// G_BR
5451    0U,	// G_INSERT_VECTOR_ELT
5452    0U,	// G_EXTRACT_VECTOR_ELT
5453    0U,	// G_SHUFFLE_VECTOR
5454    0U,	// G_BSWAP
5455    0U,	// G_ADDRSPACE_CAST
5456    0U,	// G_BLOCK_ADDR
5457    0U,	// ABS_ZPmZ_B
5458    64U,	// ABS_ZPmZ_D
5459    128U,	// ABS_ZPmZ_H
5460    192U,	// ABS_ZPmZ_S
5461    1U,	// ABSv16i8
5462    1U,	// ABSv1i64
5463    2U,	// ABSv2i32
5464    2U,	// ABSv2i64
5465    3U,	// ABSv4i16
5466    3U,	// ABSv4i32
5467    4U,	// ABSv8i16
5468    4U,	// ABSv8i8
5469    261U,	// ADCSWr
5470    261U,	// ADCSXr
5471    261U,	// ADCWr
5472    261U,	// ADCXr
5473    8517U,	// ADDHNv2i64_v2i32
5474    8581U,	// ADDHNv2i64_v4i32
5475    16710U,	// ADDHNv4i32_v4i16
5476    16774U,	// ADDHNv4i32_v8i16
5477    24966U,	// ADDHNv8i16_v16i8
5478    24902U,	// ADDHNv8i16_v8i8
5479    261U,	// ADDPL_XXI
5480    33095U,	// ADDPv16i8
5481    41287U,	// ADDPv2i32
5482    8517U,	// ADDPv2i64
5483    2U,	// ADDPv2i64p
5484    49480U,	// ADDPv4i16
5485    16710U,	// ADDPv4i32
5486    24902U,	// ADDPv8i16
5487    57672U,	// ADDPv8i8
5488    453U,	// ADDSWri
5489    0U,	// ADDSWrr
5490    517U,	// ADDSWrs
5491    581U,	// ADDSWrx
5492    453U,	// ADDSXri
5493    0U,	// ADDSXrr
5494    517U,	// ADDSXrs
5495    581U,	// ADDSXrx
5496    65797U,	// ADDSXrx64
5497    261U,	// ADDVL_XXI
5498    1U,	// ADDVv16i8v
5499    3U,	// ADDVv4i16v
5500    3U,	// ADDVv4i32v
5501    4U,	// ADDVv8i16v
5502    4U,	// ADDVv8i8v
5503    453U,	// ADDWri
5504    0U,	// ADDWrr
5505    517U,	// ADDWrs
5506    581U,	// ADDWrx
5507    453U,	// ADDXri
5508    0U,	// ADDXrr
5509    517U,	// ADDXrs
5510    581U,	// ADDXrx
5511    65797U,	// ADDXrx64
5512    645U,	// ADD_ZI_B
5513    709U,	// ADD_ZI_D
5514    9U,	// ADD_ZI_H
5515    773U,	// ADD_ZI_S
5516    74560U,	// ADD_ZPmZ_B
5517    598912U,	// ADD_ZPmZ_D
5518    1131465U,	// ADD_ZPmZ_H
5519    1647616U,	// ADD_ZPmZ_S
5520    837U,	// ADD_ZZZ_B
5521    901U,	// ADD_ZZZ_D
5522    137U,	// ADD_ZZZ_H
5523    1029U,	// ADD_ZZZ_S
5524    0U,	// ADDlowTLS
5525    33095U,	// ADDv16i8
5526    261U,	// ADDv1i64
5527    41287U,	// ADDv2i32
5528    8517U,	// ADDv2i64
5529    49480U,	// ADDv4i16
5530    16710U,	// ADDv4i32
5531    24902U,	// ADDv8i16
5532    57672U,	// ADDv8i8
5533    0U,	// ADJCALLSTACKDOWN
5534    0U,	// ADJCALLSTACKUP
5535    1U,	// ADR
5536    0U,	// ADRP
5537    1093U,	// ADR_LSL_ZZZ_D_0
5538    1157U,	// ADR_LSL_ZZZ_D_1
5539    1221U,	// ADR_LSL_ZZZ_D_2
5540    1285U,	// ADR_LSL_ZZZ_D_3
5541    1349U,	// ADR_LSL_ZZZ_S_0
5542    1413U,	// ADR_LSL_ZZZ_S_1
5543    1477U,	// ADR_LSL_ZZZ_S_2
5544    1541U,	// ADR_LSL_ZZZ_S_3
5545    1605U,	// ADR_SXTW_ZZZ_D_0
5546    1669U,	// ADR_SXTW_ZZZ_D_1
5547    1733U,	// ADR_SXTW_ZZZ_D_2
5548    1797U,	// ADR_SXTW_ZZZ_D_3
5549    1861U,	// ADR_UXTW_ZZZ_D_0
5550    1925U,	// ADR_UXTW_ZZZ_D_1
5551    1989U,	// ADR_UXTW_ZZZ_D_2
5552    2053U,	// ADR_UXTW_ZZZ_D_3
5553    1U,	// AESDrr
5554    1U,	// AESErr
5555    1U,	// AESIMCrr
5556    0U,	// AESIMCrrTied
5557    1U,	// AESMCrr
5558    0U,	// AESMCrrTied
5559    2117U,	// ANDSWri
5560    0U,	// ANDSWrr
5561    517U,	// ANDSWrs
5562    2181U,	// ANDSXri
5563    0U,	// ANDSXrr
5564    517U,	// ANDSXrs
5565    74570U,	// ANDS_PPzPP
5566    837U,	// ANDV_VPZ_B
5567    901U,	// ANDV_VPZ_D
5568    2245U,	// ANDV_VPZ_H
5569    1029U,	// ANDV_VPZ_S
5570    2117U,	// ANDWri
5571    0U,	// ANDWrr
5572    517U,	// ANDWrs
5573    2181U,	// ANDXri
5574    0U,	// ANDXrr
5575    517U,	// ANDXrs
5576    74570U,	// AND_PPzPP
5577    2181U,	// AND_ZI
5578    74560U,	// AND_ZPmZ_B
5579    598912U,	// AND_ZPmZ_D
5580    1131465U,	// AND_ZPmZ_H
5581    1647616U,	// AND_ZPmZ_S
5582    901U,	// AND_ZZZ
5583    33095U,	// ANDv16i8
5584    57672U,	// ANDv8i8
5585    2171712U,	// ASRD_ZPmI_B
5586    2171776U,	// ASRD_ZPmI_D
5587    91081U,	// ASRD_ZPmI_H
5588    2171904U,	// ASRD_ZPmI_S
5589    74560U,	// ASRR_ZPmZ_B
5590    598912U,	// ASRR_ZPmZ_D
5591    1131465U,	// ASRR_ZPmZ_H
5592    1647616U,	// ASRR_ZPmZ_S
5593    261U,	// ASRVWr
5594    261U,	// ASRVXr
5595    598848U,	// ASR_WIDE_ZPmZ_B
5596    99273U,	// ASR_WIDE_ZPmZ_H
5597    599040U,	// ASR_WIDE_ZPmZ_S
5598    901U,	// ASR_WIDE_ZZZ_B
5599    10U,	// ASR_WIDE_ZZZ_H
5600    901U,	// ASR_WIDE_ZZZ_S
5601    2171712U,	// ASR_ZPmI_B
5602    2171776U,	// ASR_ZPmI_D
5603    91081U,	// ASR_ZPmI_H
5604    2171904U,	// ASR_ZPmI_S
5605    74560U,	// ASR_ZPmZ_B
5606    598912U,	// ASR_ZPmZ_D
5607    1131465U,	// ASR_ZPmZ_H
5608    1647616U,	// ASR_ZPmZ_S
5609    261U,	// ASR_ZZI_B
5610    261U,	// ASR_ZZI_D
5611    11U,	// ASR_ZZI_H
5612    261U,	// ASR_ZZI_S
5613    1U,	// AUTDA
5614    1U,	// AUTDB
5615    0U,	// AUTDZA
5616    0U,	// AUTDZB
5617    1U,	// AUTIA
5618    0U,	// AUTIA1716
5619    0U,	// AUTIASP
5620    0U,	// AUTIAZ
5621    1U,	// AUTIB
5622    0U,	// AUTIB1716
5623    0U,	// AUTIBSP
5624    0U,	// AUTIBZ
5625    0U,	// AUTIZA
5626    0U,	// AUTIZB
5627    0U,	// B
5628    36282695U,	// BCAX
5629    3221765U,	// BFMWri
5630    3221765U,	// BFMXri
5631    0U,	// BICSWrr
5632    517U,	// BICSWrs
5633    0U,	// BICSXrr
5634    517U,	// BICSXrs
5635    74570U,	// BICS_PPzPP
5636    0U,	// BICWrr
5637    517U,	// BICWrs
5638    0U,	// BICXrr
5639    517U,	// BICXrs
5640    74570U,	// BIC_PPzPP
5641    74560U,	// BIC_ZPmZ_B
5642    598912U,	// BIC_ZPmZ_D
5643    1131465U,	// BIC_ZPmZ_H
5644    1647616U,	// BIC_ZPmZ_S
5645    901U,	// BIC_ZZZ
5646    33095U,	// BICv16i8
5647    0U,	// BICv2i32
5648    0U,	// BICv4i16
5649    0U,	// BICv4i32
5650    0U,	// BICv8i16
5651    57672U,	// BICv8i8
5652    33095U,	// BIFv16i8
5653    57672U,	// BIFv8i8
5654    33159U,	// BITv16i8
5655    57736U,	// BITv8i8
5656    0U,	// BL
5657    0U,	// BLR
5658    1U,	// BLRAA
5659    0U,	// BLRAAZ
5660    1U,	// BLRAB
5661    0U,	// BLRABZ
5662    0U,	// BR
5663    1U,	// BRAA
5664    0U,	// BRAAZ
5665    1U,	// BRAB
5666    0U,	// BRABZ
5667    0U,	// BRK
5668    842U,	// BRKAS_PPzP
5669    0U,	// BRKA_PPmP
5670    842U,	// BRKA_PPzP
5671    842U,	// BRKBS_PPzP
5672    0U,	// BRKB_PPmP
5673    842U,	// BRKB_PPzP
5674    74570U,	// BRKNS_PPzP
5675    74570U,	// BRKN_PPzP
5676    74570U,	// BRKPAS_PPzPP
5677    74570U,	// BRKPA_PPzPP
5678    74570U,	// BRKPBS_PPzPP
5679    74570U,	// BRKPB_PPzPP
5680    33159U,	// BSLv16i8
5681    57736U,	// BSLv8i8
5682    0U,	// Bcc
5683    117003U,	// CASAB
5684    117003U,	// CASAH
5685    117003U,	// CASALB
5686    117003U,	// CASALH
5687    117003U,	// CASALW
5688    117003U,	// CASALX
5689    117003U,	// CASAW
5690    117003U,	// CASAX
5691    117003U,	// CASB
5692    117003U,	// CASH
5693    117003U,	// CASLB
5694    117003U,	// CASLH
5695    117003U,	// CASLW
5696    117003U,	// CASLX
5697    0U,	// CASPALW
5698    0U,	// CASPALX
5699    0U,	// CASPAW
5700    0U,	// CASPAX
5701    0U,	// CASPLW
5702    0U,	// CASPLX
5703    0U,	// CASPW
5704    0U,	// CASPX
5705    117003U,	// CASW
5706    117003U,	// CASX
5707    0U,	// CBNZW
5708    0U,	// CBNZX
5709    0U,	// CBZW
5710    0U,	// CBZX
5711    3744005U,	// CCMNWi
5712    3744005U,	// CCMNWr
5713    3744005U,	// CCMNXi
5714    3744005U,	// CCMNXr
5715    3744005U,	// CCMPWi
5716    3744005U,	// CCMPWr
5717    3744005U,	// CCMPXi
5718    3744005U,	// CCMPXr
5719    0U,	// CFINV
5720    73989U,	// CLASTA_RPZ_B
5721    598277U,	// CLASTA_RPZ_D
5722    4268293U,	// CLASTA_RPZ_H
5723    1646853U,	// CLASTA_RPZ_S
5724    73989U,	// CLASTA_VPZ_B
5725    598277U,	// CLASTA_VPZ_D
5726    4268293U,	// CLASTA_VPZ_H
5727    1646853U,	// CLASTA_VPZ_S
5728    74565U,	// CLASTA_ZPZ_B
5729    598917U,	// CLASTA_ZPZ_D
5730    1131465U,	// CLASTA_ZPZ_H
5731    1647621U,	// CLASTA_ZPZ_S
5732    73989U,	// CLASTB_RPZ_B
5733    598277U,	// CLASTB_RPZ_D
5734    4268293U,	// CLASTB_RPZ_H
5735    1646853U,	// CLASTB_RPZ_S
5736    73989U,	// CLASTB_VPZ_B
5737    598277U,	// CLASTB_VPZ_D
5738    4268293U,	// CLASTB_VPZ_H
5739    1646853U,	// CLASTB_VPZ_S
5740    74565U,	// CLASTB_ZPZ_B
5741    598917U,	// CLASTB_ZPZ_D
5742    1131465U,	// CLASTB_ZPZ_H
5743    1647621U,	// CLASTB_ZPZ_S
5744    0U,	// CLREX
5745    1U,	// CLSWr
5746    1U,	// CLSXr
5747    0U,	// CLS_ZPmZ_B
5748    64U,	// CLS_ZPmZ_D
5749    128U,	// CLS_ZPmZ_H
5750    192U,	// CLS_ZPmZ_S
5751    1U,	// CLSv16i8
5752    2U,	// CLSv2i32
5753    3U,	// CLSv4i16
5754    3U,	// CLSv4i32
5755    4U,	// CLSv8i16
5756    4U,	// CLSv8i8
5757    1U,	// CLZWr
5758    1U,	// CLZXr
5759    0U,	// CLZ_ZPmZ_B
5760    64U,	// CLZ_ZPmZ_D
5761    128U,	// CLZ_ZPmZ_H
5762    192U,	// CLZ_ZPmZ_S
5763    1U,	// CLZv16i8
5764    2U,	// CLZv2i32
5765    3U,	// CLZv4i16
5766    3U,	// CLZv4i32
5767    4U,	// CLZv8i16
5768    4U,	// CLZv8i8
5769    33095U,	// CMEQv16i8
5770    12U,	// CMEQv16i8rz
5771    261U,	// CMEQv1i64
5772    12U,	// CMEQv1i64rz
5773    41287U,	// CMEQv2i32
5774    13U,	// CMEQv2i32rz
5775    8517U,	// CMEQv2i64
5776    13U,	// CMEQv2i64rz
5777    49480U,	// CMEQv4i16
5778    14U,	// CMEQv4i16rz
5779    16710U,	// CMEQv4i32
5780    14U,	// CMEQv4i32rz
5781    24902U,	// CMEQv8i16
5782    15U,	// CMEQv8i16rz
5783    57672U,	// CMEQv8i8
5784    15U,	// CMEQv8i8rz
5785    33095U,	// CMGEv16i8
5786    12U,	// CMGEv16i8rz
5787    261U,	// CMGEv1i64
5788    12U,	// CMGEv1i64rz
5789    41287U,	// CMGEv2i32
5790    13U,	// CMGEv2i32rz
5791    8517U,	// CMGEv2i64
5792    13U,	// CMGEv2i64rz
5793    49480U,	// CMGEv4i16
5794    14U,	// CMGEv4i16rz
5795    16710U,	// CMGEv4i32
5796    14U,	// CMGEv4i32rz
5797    24902U,	// CMGEv8i16
5798    15U,	// CMGEv8i16rz
5799    57672U,	// CMGEv8i8
5800    15U,	// CMGEv8i8rz
5801    33095U,	// CMGTv16i8
5802    12U,	// CMGTv16i8rz
5803    261U,	// CMGTv1i64
5804    12U,	// CMGTv1i64rz
5805    41287U,	// CMGTv2i32
5806    13U,	// CMGTv2i32rz
5807    8517U,	// CMGTv2i64
5808    13U,	// CMGTv2i64rz
5809    49480U,	// CMGTv4i16
5810    14U,	// CMGTv4i16rz
5811    16710U,	// CMGTv4i32
5812    14U,	// CMGTv4i32rz
5813    24902U,	// CMGTv8i16
5814    15U,	// CMGTv8i16rz
5815    57672U,	// CMGTv8i8
5816    15U,	// CMGTv8i8rz
5817    33095U,	// CMHIv16i8
5818    261U,	// CMHIv1i64
5819    41287U,	// CMHIv2i32
5820    8517U,	// CMHIv2i64
5821    49480U,	// CMHIv4i16
5822    16710U,	// CMHIv4i32
5823    24902U,	// CMHIv8i16
5824    57672U,	// CMHIv8i8
5825    33095U,	// CMHSv16i8
5826    261U,	// CMHSv1i64
5827    41287U,	// CMHSv2i32
5828    8517U,	// CMHSv2i64
5829    49480U,	// CMHSv4i16
5830    16710U,	// CMHSv4i32
5831    24902U,	// CMHSv8i16
5832    57672U,	// CMHSv8i8
5833    12U,	// CMLEv16i8rz
5834    12U,	// CMLEv1i64rz
5835    13U,	// CMLEv2i32rz
5836    13U,	// CMLEv2i64rz
5837    14U,	// CMLEv4i16rz
5838    14U,	// CMLEv4i32rz
5839    15U,	// CMLEv8i16rz
5840    15U,	// CMLEv8i8rz
5841    12U,	// CMLTv16i8rz
5842    12U,	// CMLTv1i64rz
5843    13U,	// CMLTv2i32rz
5844    13U,	// CMLTv2i64rz
5845    14U,	// CMLTv4i16rz
5846    14U,	// CMLTv4i32rz
5847    15U,	// CMLTv8i16rz
5848    15U,	// CMLTv8i8rz
5849    2171722U,	// CMPEQ_PPzZI_B
5850    2171786U,	// CMPEQ_PPzZI_D
5851    91081U,	// CMPEQ_PPzZI_H
5852    2171914U,	// CMPEQ_PPzZI_S
5853    74570U,	// CMPEQ_PPzZZ_B
5854    598922U,	// CMPEQ_PPzZZ_D
5855    1131465U,	// CMPEQ_PPzZZ_H
5856    1647626U,	// CMPEQ_PPzZZ_S
5857    598858U,	// CMPEQ_WIDE_PPzZZ_B
5858    99273U,	// CMPEQ_WIDE_PPzZZ_H
5859    599050U,	// CMPEQ_WIDE_PPzZZ_S
5860    2171722U,	// CMPGE_PPzZI_B
5861    2171786U,	// CMPGE_PPzZI_D
5862    91081U,	// CMPGE_PPzZI_H
5863    2171914U,	// CMPGE_PPzZI_S
5864    74570U,	// CMPGE_PPzZZ_B
5865    598922U,	// CMPGE_PPzZZ_D
5866    1131465U,	// CMPGE_PPzZZ_H
5867    1647626U,	// CMPGE_PPzZZ_S
5868    598858U,	// CMPGE_WIDE_PPzZZ_B
5869    99273U,	// CMPGE_WIDE_PPzZZ_H
5870    599050U,	// CMPGE_WIDE_PPzZZ_S
5871    2171722U,	// CMPGT_PPzZI_B
5872    2171786U,	// CMPGT_PPzZI_D
5873    91081U,	// CMPGT_PPzZI_H
5874    2171914U,	// CMPGT_PPzZI_S
5875    74570U,	// CMPGT_PPzZZ_B
5876    598922U,	// CMPGT_PPzZZ_D
5877    1131465U,	// CMPGT_PPzZZ_H
5878    1647626U,	// CMPGT_PPzZZ_S
5879    598858U,	// CMPGT_WIDE_PPzZZ_B
5880    99273U,	// CMPGT_WIDE_PPzZZ_H
5881    599050U,	// CMPGT_WIDE_PPzZZ_S
5882    4793162U,	// CMPHI_PPzZI_B
5883    4793226U,	// CMPHI_PPzZI_D
5884    123849U,	// CMPHI_PPzZI_H
5885    4793354U,	// CMPHI_PPzZI_S
5886    74570U,	// CMPHI_PPzZZ_B
5887    598922U,	// CMPHI_PPzZZ_D
5888    1131465U,	// CMPHI_PPzZZ_H
5889    1647626U,	// CMPHI_PPzZZ_S
5890    598858U,	// CMPHI_WIDE_PPzZZ_B
5891    99273U,	// CMPHI_WIDE_PPzZZ_H
5892    599050U,	// CMPHI_WIDE_PPzZZ_S
5893    4793162U,	// CMPHS_PPzZI_B
5894    4793226U,	// CMPHS_PPzZI_D
5895    123849U,	// CMPHS_PPzZI_H
5896    4793354U,	// CMPHS_PPzZI_S
5897    74570U,	// CMPHS_PPzZZ_B
5898    598922U,	// CMPHS_PPzZZ_D
5899    1131465U,	// CMPHS_PPzZZ_H
5900    1647626U,	// CMPHS_PPzZZ_S
5901    598858U,	// CMPHS_WIDE_PPzZZ_B
5902    99273U,	// CMPHS_WIDE_PPzZZ_H
5903    599050U,	// CMPHS_WIDE_PPzZZ_S
5904    2171722U,	// CMPLE_PPzZI_B
5905    2171786U,	// CMPLE_PPzZI_D
5906    91081U,	// CMPLE_PPzZI_H
5907    2171914U,	// CMPLE_PPzZI_S
5908    598858U,	// CMPLE_WIDE_PPzZZ_B
5909    99273U,	// CMPLE_WIDE_PPzZZ_H
5910    599050U,	// CMPLE_WIDE_PPzZZ_S
5911    4793162U,	// CMPLO_PPzZI_B
5912    4793226U,	// CMPLO_PPzZI_D
5913    123849U,	// CMPLO_PPzZI_H
5914    4793354U,	// CMPLO_PPzZI_S
5915    598858U,	// CMPLO_WIDE_PPzZZ_B
5916    99273U,	// CMPLO_WIDE_PPzZZ_H
5917    599050U,	// CMPLO_WIDE_PPzZZ_S
5918    4793162U,	// CMPLS_PPzZI_B
5919    4793226U,	// CMPLS_PPzZI_D
5920    123849U,	// CMPLS_PPzZI_H
5921    4793354U,	// CMPLS_PPzZI_S
5922    598858U,	// CMPLS_WIDE_PPzZZ_B
5923    99273U,	// CMPLS_WIDE_PPzZZ_H
5924    599050U,	// CMPLS_WIDE_PPzZZ_S
5925    2171722U,	// CMPLT_PPzZI_B
5926    2171786U,	// CMPLT_PPzZI_D
5927    91081U,	// CMPLT_PPzZI_H
5928    2171914U,	// CMPLT_PPzZI_S
5929    598858U,	// CMPLT_WIDE_PPzZZ_B
5930    99273U,	// CMPLT_WIDE_PPzZZ_H
5931    599050U,	// CMPLT_WIDE_PPzZZ_S
5932    2171722U,	// CMPNE_PPzZI_B
5933    2171786U,	// CMPNE_PPzZI_D
5934    91081U,	// CMPNE_PPzZI_H
5935    2171914U,	// CMPNE_PPzZI_S
5936    74570U,	// CMPNE_PPzZZ_B
5937    598922U,	// CMPNE_PPzZZ_D
5938    1131465U,	// CMPNE_PPzZZ_H
5939    1647626U,	// CMPNE_PPzZZ_S
5940    598858U,	// CMPNE_WIDE_PPzZZ_B
5941    99273U,	// CMPNE_WIDE_PPzZZ_H
5942    599050U,	// CMPNE_WIDE_PPzZZ_S
5943    0U,	// CMP_SWAP_128
5944    0U,	// CMP_SWAP_16
5945    0U,	// CMP_SWAP_32
5946    0U,	// CMP_SWAP_64
5947    0U,	// CMP_SWAP_8
5948    33095U,	// CMTSTv16i8
5949    261U,	// CMTSTv1i64
5950    41287U,	// CMTSTv2i32
5951    8517U,	// CMTSTv2i64
5952    49480U,	// CMTSTv4i16
5953    16710U,	// CMTSTv4i32
5954    24902U,	// CMTSTv8i16
5955    57672U,	// CMTSTv8i8
5956    0U,	// CNOT_ZPmZ_B
5957    64U,	// CNOT_ZPmZ_D
5958    128U,	// CNOT_ZPmZ_H
5959    192U,	// CNOT_ZPmZ_S
5960    16U,	// CNTB_XPiI
5961    16U,	// CNTD_XPiI
5962    16U,	// CNTH_XPiI
5963    837U,	// CNTP_XPP_B
5964    901U,	// CNTP_XPP_D
5965    2245U,	// CNTP_XPP_H
5966    1029U,	// CNTP_XPP_S
5967    16U,	// CNTW_XPiI
5968    0U,	// CNT_ZPmZ_B
5969    64U,	// CNT_ZPmZ_D
5970    128U,	// CNT_ZPmZ_H
5971    192U,	// CNT_ZPmZ_S
5972    1U,	// CNTv16i8
5973    4U,	// CNTv8i8
5974    901U,	// COMPACT_ZPZ_D
5975    1029U,	// COMPACT_ZPZ_S
5976    2368U,	// CPY_ZPmI_B
5977    2432U,	// CPY_ZPmI_D
5978    16U,	// CPY_ZPmI_H
5979    2496U,	// CPY_ZPmI_S
5980    2304U,	// CPY_ZPmR_B
5981    2304U,	// CPY_ZPmR_D
5982    145U,	// CPY_ZPmR_H
5983    2304U,	// CPY_ZPmR_S
5984    2304U,	// CPY_ZPmV_B
5985    2304U,	// CPY_ZPmV_D
5986    145U,	// CPY_ZPmV_H
5987    2304U,	// CPY_ZPmV_S
5988    2570U,	// CPY_ZPzI_B
5989    2634U,	// CPY_ZPzI_D
5990    17U,	// CPY_ZPzI_H
5991    2698U,	// CPY_ZPzI_S
5992    2770U,	// CPYi16
5993    2770U,	// CPYi32
5994    2771U,	// CPYi64
5995    2771U,	// CPYi8
5996    261U,	// CRC32Brr
5997    261U,	// CRC32CBrr
5998    261U,	// CRC32CHrr
5999    261U,	// CRC32CWrr
6000    261U,	// CRC32CXrr
6001    261U,	// CRC32Hrr
6002    261U,	// CRC32Wrr
6003    261U,	// CRC32Xrr
6004    3744005U,	// CSELWr
6005    3744005U,	// CSELXr
6006    3744005U,	// CSINCWr
6007    3744005U,	// CSINCXr
6008    3744005U,	// CSINVWr
6009    3744005U,	// CSINVXr
6010    3744005U,	// CSNEGWr
6011    3744005U,	// CSNEGXr
6012    1U,	// CTERMEQ_WW
6013    1U,	// CTERMEQ_XX
6014    1U,	// CTERMNE_WW
6015    1U,	// CTERMNE_XX
6016    0U,	// CompilerBarrier
6017    0U,	// DCPS1
6018    0U,	// DCPS2
6019    0U,	// DCPS3
6020    0U,	// DECB_XPiI
6021    0U,	// DECD_XPiI
6022    0U,	// DECD_ZPiI
6023    0U,	// DECH_XPiI
6024    0U,	// DECH_ZPiI
6025    1U,	// DECP_XP_B
6026    1U,	// DECP_XP_D
6027    1U,	// DECP_XP_H
6028    1U,	// DECP_XP_S
6029    1U,	// DECP_ZP_D
6030    0U,	// DECP_ZP_H
6031    1U,	// DECP_ZP_S
6032    0U,	// DECW_XPiI
6033    0U,	// DECW_ZPiI
6034    0U,	// DMB
6035    0U,	// DRPS
6036    0U,	// DSB
6037    0U,	// DUPM_ZI
6038    0U,	// DUP_ZI_B
6039    0U,	// DUP_ZI_D
6040    0U,	// DUP_ZI_H
6041    0U,	// DUP_ZI_S
6042    1U,	// DUP_ZR_B
6043    1U,	// DUP_ZR_D
6044    0U,	// DUP_ZR_H
6045    1U,	// DUP_ZR_S
6046    20U,	// DUP_ZZI_B
6047    20U,	// DUP_ZZI_D
6048    0U,	// DUP_ZZI_H
6049    0U,	// DUP_ZZI_Q
6050    20U,	// DUP_ZZI_S
6051    1U,	// DUPv16i8gpr
6052    2771U,	// DUPv16i8lane
6053    1U,	// DUPv2i32gpr
6054    2770U,	// DUPv2i32lane
6055    1U,	// DUPv2i64gpr
6056    2771U,	// DUPv2i64lane
6057    1U,	// DUPv4i16gpr
6058    2770U,	// DUPv4i16lane
6059    1U,	// DUPv4i32gpr
6060    2770U,	// DUPv4i32lane
6061    1U,	// DUPv8i16gpr
6062    2770U,	// DUPv8i16lane
6063    1U,	// DUPv8i8gpr
6064    2771U,	// DUPv8i8lane
6065    0U,	// EONWrr
6066    517U,	// EONWrs
6067    0U,	// EONXrr
6068    517U,	// EONXrs
6069    36282695U,	// EOR3
6070    74570U,	// EORS_PPzPP
6071    837U,	// EORV_VPZ_B
6072    901U,	// EORV_VPZ_D
6073    2245U,	// EORV_VPZ_H
6074    1029U,	// EORV_VPZ_S
6075    2117U,	// EORWri
6076    0U,	// EORWrr
6077    517U,	// EORWrs
6078    2181U,	// EORXri
6079    0U,	// EORXrr
6080    517U,	// EORXrs
6081    74570U,	// EOR_PPzPP
6082    2181U,	// EOR_ZI
6083    74560U,	// EOR_ZPmZ_B
6084    598912U,	// EOR_ZPmZ_D
6085    1131465U,	// EOR_ZPmZ_H
6086    1647616U,	// EOR_ZPmZ_S
6087    901U,	// EOR_ZZZ
6088    33095U,	// EORv16i8
6089    57672U,	// EORv8i8
6090    0U,	// ERET
6091    0U,	// ERETAA
6092    0U,	// ERETAB
6093    2171141U,	// EXTRWrri
6094    2171141U,	// EXTRXrri
6095    4793157U,	// EXT_ZZI
6096    2203975U,	// EXTv16i8
6097    131400U,	// EXTv8i8
6098    0U,	// F128CSEL
6099    261U,	// FABD16
6100    261U,	// FABD32
6101    261U,	// FABD64
6102    598912U,	// FABD_ZPmZ_D
6103    1131465U,	// FABD_ZPmZ_H
6104    1647616U,	// FABD_ZPmZ_S
6105    41287U,	// FABDv2f32
6106    8517U,	// FABDv2f64
6107    49480U,	// FABDv4f16
6108    16710U,	// FABDv4f32
6109    24902U,	// FABDv8f16
6110    1U,	// FABSDr
6111    1U,	// FABSHr
6112    1U,	// FABSSr
6113    64U,	// FABS_ZPmZ_D
6114    128U,	// FABS_ZPmZ_H
6115    192U,	// FABS_ZPmZ_S
6116    2U,	// FABSv2f32
6117    2U,	// FABSv2f64
6118    3U,	// FABSv4f16
6119    3U,	// FABSv4f32
6120    4U,	// FABSv8f16
6121    261U,	// FACGE16
6122    261U,	// FACGE32
6123    261U,	// FACGE64
6124    598922U,	// FACGE_PPzZZ_D
6125    1131465U,	// FACGE_PPzZZ_H
6126    1647626U,	// FACGE_PPzZZ_S
6127    41287U,	// FACGEv2f32
6128    8517U,	// FACGEv2f64
6129    49480U,	// FACGEv4f16
6130    16710U,	// FACGEv4f32
6131    24902U,	// FACGEv8f16
6132    261U,	// FACGT16
6133    261U,	// FACGT32
6134    261U,	// FACGT64
6135    598922U,	// FACGT_PPzZZ_D
6136    1131465U,	// FACGT_PPzZZ_H
6137    1647626U,	// FACGT_PPzZZ_S
6138    41287U,	// FACGTv2f32
6139    8517U,	// FACGTv2f64
6140    49480U,	// FACGTv4f16
6141    16710U,	// FACGTv4f32
6142    24902U,	// FACGTv8f16
6143    598277U,	// FADDA_VPZ_D
6144    4268293U,	// FADDA_VPZ_H
6145    1646853U,	// FADDA_VPZ_S
6146    261U,	// FADDDrr
6147    261U,	// FADDHrr
6148    41287U,	// FADDPv2f32
6149    8517U,	// FADDPv2f64
6150    20U,	// FADDPv2i16p
6151    2U,	// FADDPv2i32p
6152    2U,	// FADDPv2i64p
6153    49480U,	// FADDPv4f16
6154    16710U,	// FADDPv4f32
6155    24902U,	// FADDPv8f16
6156    261U,	// FADDSrr
6157    901U,	// FADDV_VPZ_D
6158    2245U,	// FADDV_VPZ_H
6159    1029U,	// FADDV_VPZ_S
6160    5317504U,	// FADD_ZPmI_D
6161    140233U,	// FADD_ZPmI_H
6162    5317632U,	// FADD_ZPmI_S
6163    598912U,	// FADD_ZPmZ_D
6164    1131465U,	// FADD_ZPmZ_H
6165    1647616U,	// FADD_ZPmZ_S
6166    901U,	// FADD_ZZZ_D
6167    137U,	// FADD_ZZZ_H
6168    1029U,	// FADD_ZZZ_S
6169    41287U,	// FADDv2f32
6170    8517U,	// FADDv2f64
6171    49480U,	// FADDv4f16
6172    16710U,	// FADDv4f32
6173    24902U,	// FADDv8f16
6174    67707776U,	// FCADD_ZPmZ_D
6175    106513353U,	// FCADD_ZPmZ_H
6176    68756480U,	// FCADD_ZPmZ_S
6177    6439239U,	// FCADDv2f32
6178    6447429U,	// FCADDv2f64
6179    6455624U,	// FCADDv4f16
6180    6463814U,	// FCADDv4f32
6181    6472006U,	// FCADDv8f16
6182    3744005U,	// FCCMPDrr
6183    3744005U,	// FCCMPEDrr
6184    3744005U,	// FCCMPEHrr
6185    3744005U,	// FCCMPESrr
6186    3744005U,	// FCCMPHrr
6187    3744005U,	// FCCMPSrr
6188    261U,	// FCMEQ16
6189    261U,	// FCMEQ32
6190    261U,	// FCMEQ64
6191    189322U,	// FCMEQ_PPzZ0_D
6192    2825U,	// FCMEQ_PPzZ0_H
6193    189450U,	// FCMEQ_PPzZ0_S
6194    598922U,	// FCMEQ_PPzZZ_D
6195    1131465U,	// FCMEQ_PPzZZ_H
6196    1647626U,	// FCMEQ_PPzZZ_S
6197    21U,	// FCMEQv1i16rz
6198    21U,	// FCMEQv1i32rz
6199    21U,	// FCMEQv1i64rz
6200    41287U,	// FCMEQv2f32
6201    8517U,	// FCMEQv2f64
6202    21U,	// FCMEQv2i32rz
6203    22U,	// FCMEQv2i64rz
6204    49480U,	// FCMEQv4f16
6205    16710U,	// FCMEQv4f32
6206    22U,	// FCMEQv4i16rz
6207    23U,	// FCMEQv4i32rz
6208    24902U,	// FCMEQv8f16
6209    23U,	// FCMEQv8i16rz
6210    261U,	// FCMGE16
6211    261U,	// FCMGE32
6212    261U,	// FCMGE64
6213    189322U,	// FCMGE_PPzZ0_D
6214    2825U,	// FCMGE_PPzZ0_H
6215    189450U,	// FCMGE_PPzZ0_S
6216    598922U,	// FCMGE_PPzZZ_D
6217    1131465U,	// FCMGE_PPzZZ_H
6218    1647626U,	// FCMGE_PPzZZ_S
6219    21U,	// FCMGEv1i16rz
6220    21U,	// FCMGEv1i32rz
6221    21U,	// FCMGEv1i64rz
6222    41287U,	// FCMGEv2f32
6223    8517U,	// FCMGEv2f64
6224    21U,	// FCMGEv2i32rz
6225    22U,	// FCMGEv2i64rz
6226    49480U,	// FCMGEv4f16
6227    16710U,	// FCMGEv4f32
6228    22U,	// FCMGEv4i16rz
6229    23U,	// FCMGEv4i32rz
6230    24902U,	// FCMGEv8f16
6231    23U,	// FCMGEv8i16rz
6232    261U,	// FCMGT16
6233    261U,	// FCMGT32
6234    261U,	// FCMGT64
6235    189322U,	// FCMGT_PPzZ0_D
6236    2825U,	// FCMGT_PPzZ0_H
6237    189450U,	// FCMGT_PPzZ0_S
6238    598922U,	// FCMGT_PPzZZ_D
6239    1131465U,	// FCMGT_PPzZZ_H
6240    1647626U,	// FCMGT_PPzZZ_S
6241    21U,	// FCMGTv1i16rz
6242    21U,	// FCMGTv1i32rz
6243    21U,	// FCMGTv1i64rz
6244    41287U,	// FCMGTv2f32
6245    8517U,	// FCMGTv2f64
6246    21U,	// FCMGTv2i32rz
6247    22U,	// FCMGTv2i64rz
6248    49480U,	// FCMGTv4f16
6249    16710U,	// FCMGTv4f32
6250    22U,	// FCMGTv4i16rz
6251    23U,	// FCMGTv4i32rz
6252    24902U,	// FCMGTv8f16
6253    23U,	// FCMGTv8i16rz
6254    342433856U,	// FCMLA_ZPmZZ_D
6255    140182464U,	// FCMLA_ZPmZZ_H
6256    342958272U,	// FCMLA_ZPmZZ_S
6257    24U,	// FCMLA_ZZZI_H
6258    7940952U,	// FCMLA_ZZZI_S
6259    8536455U,	// FCMLAv2f32
6260    8544645U,	// FCMLAv2f64
6261    8552840U,	// FCMLAv4f16
6262    344662408U,	// FCMLAv4f16_indexed
6263    8561030U,	// FCMLAv4f32
6264    344670598U,	// FCMLAv4f32_indexed
6265    8569222U,	// FCMLAv8f16
6266    344662406U,	// FCMLAv8f16_indexed
6267    189322U,	// FCMLE_PPzZ0_D
6268    2825U,	// FCMLE_PPzZ0_H
6269    189450U,	// FCMLE_PPzZ0_S
6270    21U,	// FCMLEv1i16rz
6271    21U,	// FCMLEv1i32rz
6272    21U,	// FCMLEv1i64rz
6273    21U,	// FCMLEv2i32rz
6274    22U,	// FCMLEv2i64rz
6275    22U,	// FCMLEv4i16rz
6276    23U,	// FCMLEv4i32rz
6277    23U,	// FCMLEv8i16rz
6278    189322U,	// FCMLT_PPzZ0_D
6279    2825U,	// FCMLT_PPzZ0_H
6280    189450U,	// FCMLT_PPzZ0_S
6281    21U,	// FCMLTv1i16rz
6282    21U,	// FCMLTv1i32rz
6283    21U,	// FCMLTv1i64rz
6284    21U,	// FCMLTv2i32rz
6285    22U,	// FCMLTv2i64rz
6286    22U,	// FCMLTv4i16rz
6287    23U,	// FCMLTv4i32rz
6288    23U,	// FCMLTv8i16rz
6289    189322U,	// FCMNE_PPzZ0_D
6290    2825U,	// FCMNE_PPzZ0_H
6291    189450U,	// FCMNE_PPzZ0_S
6292    598922U,	// FCMNE_PPzZZ_D
6293    1131465U,	// FCMNE_PPzZZ_H
6294    1647626U,	// FCMNE_PPzZZ_S
6295    0U,	// FCMPDri
6296    1U,	// FCMPDrr
6297    0U,	// FCMPEDri
6298    1U,	// FCMPEDrr
6299    0U,	// FCMPEHri
6300    1U,	// FCMPEHrr
6301    0U,	// FCMPESri
6302    1U,	// FCMPESrr
6303    0U,	// FCMPHri
6304    1U,	// FCMPHrr
6305    0U,	// FCMPSri
6306    1U,	// FCMPSrr
6307    598922U,	// FCMUO_PPzZZ_D
6308    1131465U,	// FCMUO_PPzZZ_H
6309    1647626U,	// FCMUO_PPzZZ_S
6310    2944U,	// FCPY_ZPmI_D
6311    25U,	// FCPY_ZPmI_H
6312    2944U,	// FCPY_ZPmI_S
6313    3744005U,	// FCSELDrrr
6314    3744005U,	// FCSELHrrr
6315    3744005U,	// FCSELSrrr
6316    1U,	// FCVTASUWDr
6317    1U,	// FCVTASUWHr
6318    1U,	// FCVTASUWSr
6319    1U,	// FCVTASUXDr
6320    1U,	// FCVTASUXHr
6321    1U,	// FCVTASUXSr
6322    1U,	// FCVTASv1f16
6323    1U,	// FCVTASv1i32
6324    1U,	// FCVTASv1i64
6325    2U,	// FCVTASv2f32
6326    2U,	// FCVTASv2f64
6327    3U,	// FCVTASv4f16
6328    3U,	// FCVTASv4f32
6329    4U,	// FCVTASv8f16
6330    1U,	// FCVTAUUWDr
6331    1U,	// FCVTAUUWHr
6332    1U,	// FCVTAUUWSr
6333    1U,	// FCVTAUUXDr
6334    1U,	// FCVTAUUXHr
6335    1U,	// FCVTAUUXSr
6336    1U,	// FCVTAUv1f16
6337    1U,	// FCVTAUv1i32
6338    1U,	// FCVTAUv1i64
6339    2U,	// FCVTAUv2f32
6340    2U,	// FCVTAUv2f64
6341    3U,	// FCVTAUv4f16
6342    3U,	// FCVTAUv4f32
6343    4U,	// FCVTAUv8f16
6344    1U,	// FCVTDHr
6345    1U,	// FCVTDSr
6346    1U,	// FCVTHDr
6347    1U,	// FCVTHSr
6348    2U,	// FCVTLv2i32
6349    3U,	// FCVTLv4i16
6350    3U,	// FCVTLv4i32
6351    4U,	// FCVTLv8i16
6352    1U,	// FCVTMSUWDr
6353    1U,	// FCVTMSUWHr
6354    1U,	// FCVTMSUWSr
6355    1U,	// FCVTMSUXDr
6356    1U,	// FCVTMSUXHr
6357    1U,	// FCVTMSUXSr
6358    1U,	// FCVTMSv1f16
6359    1U,	// FCVTMSv1i32
6360    1U,	// FCVTMSv1i64
6361    2U,	// FCVTMSv2f32
6362    2U,	// FCVTMSv2f64
6363    3U,	// FCVTMSv4f16
6364    3U,	// FCVTMSv4f32
6365    4U,	// FCVTMSv8f16
6366    1U,	// FCVTMUUWDr
6367    1U,	// FCVTMUUWHr
6368    1U,	// FCVTMUUWSr
6369    1U,	// FCVTMUUXDr
6370    1U,	// FCVTMUUXHr
6371    1U,	// FCVTMUUXSr
6372    1U,	// FCVTMUv1f16
6373    1U,	// FCVTMUv1i32
6374    1U,	// FCVTMUv1i64
6375    2U,	// FCVTMUv2f32
6376    2U,	// FCVTMUv2f64
6377    3U,	// FCVTMUv4f16
6378    3U,	// FCVTMUv4f32
6379    4U,	// FCVTMUv8f16
6380    1U,	// FCVTNSUWDr
6381    1U,	// FCVTNSUWHr
6382    1U,	// FCVTNSUWSr
6383    1U,	// FCVTNSUXDr
6384    1U,	// FCVTNSUXHr
6385    1U,	// FCVTNSUXSr
6386    1U,	// FCVTNSv1f16
6387    1U,	// FCVTNSv1i32
6388    1U,	// FCVTNSv1i64
6389    2U,	// FCVTNSv2f32
6390    2U,	// FCVTNSv2f64
6391    3U,	// FCVTNSv4f16
6392    3U,	// FCVTNSv4f32
6393    4U,	// FCVTNSv8f16
6394    1U,	// FCVTNUUWDr
6395    1U,	// FCVTNUUWHr
6396    1U,	// FCVTNUUWSr
6397    1U,	// FCVTNUUXDr
6398    1U,	// FCVTNUUXHr
6399    1U,	// FCVTNUUXSr
6400    1U,	// FCVTNUv1f16
6401    1U,	// FCVTNUv1i32
6402    1U,	// FCVTNUv1i64
6403    2U,	// FCVTNUv2f32
6404    2U,	// FCVTNUv2f64
6405    3U,	// FCVTNUv4f16
6406    3U,	// FCVTNUv4f32
6407    4U,	// FCVTNUv8f16
6408    2U,	// FCVTNv2i32
6409    3U,	// FCVTNv4i16
6410    2U,	// FCVTNv4i32
6411    3U,	// FCVTNv8i16
6412    1U,	// FCVTPSUWDr
6413    1U,	// FCVTPSUWHr
6414    1U,	// FCVTPSUWSr
6415    1U,	// FCVTPSUXDr
6416    1U,	// FCVTPSUXHr
6417    1U,	// FCVTPSUXSr
6418    1U,	// FCVTPSv1f16
6419    1U,	// FCVTPSv1i32
6420    1U,	// FCVTPSv1i64
6421    2U,	// FCVTPSv2f32
6422    2U,	// FCVTPSv2f64
6423    3U,	// FCVTPSv4f16
6424    3U,	// FCVTPSv4f32
6425    4U,	// FCVTPSv8f16
6426    1U,	// FCVTPUUWDr
6427    1U,	// FCVTPUUWHr
6428    1U,	// FCVTPUUWSr
6429    1U,	// FCVTPUUXDr
6430    1U,	// FCVTPUUXHr
6431    1U,	// FCVTPUUXSr
6432    1U,	// FCVTPUv1f16
6433    1U,	// FCVTPUv1i32
6434    1U,	// FCVTPUv1i64
6435    2U,	// FCVTPUv2f32
6436    2U,	// FCVTPUv2f64
6437    3U,	// FCVTPUv4f16
6438    3U,	// FCVTPUv4f32
6439    4U,	// FCVTPUv8f16
6440    1U,	// FCVTSDr
6441    1U,	// FCVTSHr
6442    1U,	// FCVTXNv1i64
6443    2U,	// FCVTXNv2f32
6444    2U,	// FCVTXNv4f32
6445    261U,	// FCVTZSSWDri
6446    261U,	// FCVTZSSWHri
6447    261U,	// FCVTZSSWSri
6448    261U,	// FCVTZSSXDri
6449    261U,	// FCVTZSSXHri
6450    261U,	// FCVTZSSXSri
6451    1U,	// FCVTZSUWDr
6452    1U,	// FCVTZSUWHr
6453    1U,	// FCVTZSUWSr
6454    1U,	// FCVTZSUXDr
6455    1U,	// FCVTZSUXHr
6456    1U,	// FCVTZSUXSr
6457    64U,	// FCVTZS_ZPmZ_DtoD
6458    64U,	// FCVTZS_ZPmZ_DtoS
6459    3008U,	// FCVTZS_ZPmZ_HtoD
6460    128U,	// FCVTZS_ZPmZ_HtoH
6461    3008U,	// FCVTZS_ZPmZ_HtoS
6462    192U,	// FCVTZS_ZPmZ_StoD
6463    192U,	// FCVTZS_ZPmZ_StoS
6464    261U,	// FCVTZSd
6465    261U,	// FCVTZSh
6466    261U,	// FCVTZSs
6467    1U,	// FCVTZSv1f16
6468    1U,	// FCVTZSv1i32
6469    1U,	// FCVTZSv1i64
6470    2U,	// FCVTZSv2f32
6471    2U,	// FCVTZSv2f64
6472    263U,	// FCVTZSv2i32_shift
6473    261U,	// FCVTZSv2i64_shift
6474    3U,	// FCVTZSv4f16
6475    3U,	// FCVTZSv4f32
6476    264U,	// FCVTZSv4i16_shift
6477    262U,	// FCVTZSv4i32_shift
6478    4U,	// FCVTZSv8f16
6479    262U,	// FCVTZSv8i16_shift
6480    261U,	// FCVTZUSWDri
6481    261U,	// FCVTZUSWHri
6482    261U,	// FCVTZUSWSri
6483    261U,	// FCVTZUSXDri
6484    261U,	// FCVTZUSXHri
6485    261U,	// FCVTZUSXSri
6486    1U,	// FCVTZUUWDr
6487    1U,	// FCVTZUUWHr
6488    1U,	// FCVTZUUWSr
6489    1U,	// FCVTZUUXDr
6490    1U,	// FCVTZUUXHr
6491    1U,	// FCVTZUUXSr
6492    64U,	// FCVTZU_ZPmZ_DtoD
6493    64U,	// FCVTZU_ZPmZ_DtoS
6494    3008U,	// FCVTZU_ZPmZ_HtoD
6495    128U,	// FCVTZU_ZPmZ_HtoH
6496    3008U,	// FCVTZU_ZPmZ_HtoS
6497    192U,	// FCVTZU_ZPmZ_StoD
6498    192U,	// FCVTZU_ZPmZ_StoS
6499    261U,	// FCVTZUd
6500    261U,	// FCVTZUh
6501    261U,	// FCVTZUs
6502    1U,	// FCVTZUv1f16
6503    1U,	// FCVTZUv1i32
6504    1U,	// FCVTZUv1i64
6505    2U,	// FCVTZUv2f32
6506    2U,	// FCVTZUv2f64
6507    263U,	// FCVTZUv2i32_shift
6508    261U,	// FCVTZUv2i64_shift
6509    3U,	// FCVTZUv4f16
6510    3U,	// FCVTZUv4f32
6511    264U,	// FCVTZUv4i16_shift
6512    262U,	// FCVTZUv4i32_shift
6513    4U,	// FCVTZUv8f16
6514    262U,	// FCVTZUv8i16_shift
6515    153U,	// FCVT_ZPmZ_DtoH
6516    64U,	// FCVT_ZPmZ_DtoS
6517    3008U,	// FCVT_ZPmZ_HtoD
6518    3008U,	// FCVT_ZPmZ_HtoS
6519    192U,	// FCVT_ZPmZ_StoD
6520    152U,	// FCVT_ZPmZ_StoH
6521    261U,	// FDIVDrr
6522    261U,	// FDIVHrr
6523    598912U,	// FDIVR_ZPmZ_D
6524    1131465U,	// FDIVR_ZPmZ_H
6525    1647616U,	// FDIVR_ZPmZ_S
6526    261U,	// FDIVSrr
6527    598912U,	// FDIV_ZPmZ_D
6528    1131465U,	// FDIV_ZPmZ_H
6529    1647616U,	// FDIV_ZPmZ_S
6530    41287U,	// FDIVv2f32
6531    8517U,	// FDIVv2f64
6532    49480U,	// FDIVv4f16
6533    16710U,	// FDIVv4f32
6534    24902U,	// FDIVv8f16
6535    0U,	// FDUP_ZI_D
6536    0U,	// FDUP_ZI_H
6537    0U,	// FDUP_ZI_S
6538    1U,	// FEXPA_ZZ_D
6539    0U,	// FEXPA_ZZ_H
6540    1U,	// FEXPA_ZZ_S
6541    1U,	// FJCVTZS
6542    2171141U,	// FMADDDrrr
6543    2171141U,	// FMADDHrrr
6544    2171141U,	// FMADDSrrr
6545    6889536U,	// FMAD_ZPmZZ_D
6546    1246144U,	// FMAD_ZPmZZ_H
6547    7413952U,	// FMAD_ZPmZZ_S
6548    261U,	// FMAXDrr
6549    261U,	// FMAXHrr
6550    261U,	// FMAXNMDrr
6551    261U,	// FMAXNMHrr
6552    41287U,	// FMAXNMPv2f32
6553    8517U,	// FMAXNMPv2f64
6554    20U,	// FMAXNMPv2i16p
6555    2U,	// FMAXNMPv2i32p
6556    2U,	// FMAXNMPv2i64p
6557    49480U,	// FMAXNMPv4f16
6558    16710U,	// FMAXNMPv4f32
6559    24902U,	// FMAXNMPv8f16
6560    261U,	// FMAXNMSrr
6561    901U,	// FMAXNMV_VPZ_D
6562    2245U,	// FMAXNMV_VPZ_H
6563    1029U,	// FMAXNMV_VPZ_S
6564    3U,	// FMAXNMVv4i16v
6565    3U,	// FMAXNMVv4i32v
6566    4U,	// FMAXNMVv8i16v
6567    9511808U,	// FMAXNM_ZPmI_D
6568    222153U,	// FMAXNM_ZPmI_H
6569    9511936U,	// FMAXNM_ZPmI_S
6570    598912U,	// FMAXNM_ZPmZ_D
6571    1131465U,	// FMAXNM_ZPmZ_H
6572    1647616U,	// FMAXNM_ZPmZ_S
6573    41287U,	// FMAXNMv2f32
6574    8517U,	// FMAXNMv2f64
6575    49480U,	// FMAXNMv4f16
6576    16710U,	// FMAXNMv4f32
6577    24902U,	// FMAXNMv8f16
6578    41287U,	// FMAXPv2f32
6579    8517U,	// FMAXPv2f64
6580    20U,	// FMAXPv2i16p
6581    2U,	// FMAXPv2i32p
6582    2U,	// FMAXPv2i64p
6583    49480U,	// FMAXPv4f16
6584    16710U,	// FMAXPv4f32
6585    24902U,	// FMAXPv8f16
6586    261U,	// FMAXSrr
6587    901U,	// FMAXV_VPZ_D
6588    2245U,	// FMAXV_VPZ_H
6589    1029U,	// FMAXV_VPZ_S
6590    3U,	// FMAXVv4i16v
6591    3U,	// FMAXVv4i32v
6592    4U,	// FMAXVv8i16v
6593    9511808U,	// FMAX_ZPmI_D
6594    222153U,	// FMAX_ZPmI_H
6595    9511936U,	// FMAX_ZPmI_S
6596    598912U,	// FMAX_ZPmZ_D
6597    1131465U,	// FMAX_ZPmZ_H
6598    1647616U,	// FMAX_ZPmZ_S
6599    41287U,	// FMAXv2f32
6600    8517U,	// FMAXv2f64
6601    49480U,	// FMAXv4f16
6602    16710U,	// FMAXv4f32
6603    24902U,	// FMAXv8f16
6604    261U,	// FMINDrr
6605    261U,	// FMINHrr
6606    261U,	// FMINNMDrr
6607    261U,	// FMINNMHrr
6608    41287U,	// FMINNMPv2f32
6609    8517U,	// FMINNMPv2f64
6610    20U,	// FMINNMPv2i16p
6611    2U,	// FMINNMPv2i32p
6612    2U,	// FMINNMPv2i64p
6613    49480U,	// FMINNMPv4f16
6614    16710U,	// FMINNMPv4f32
6615    24902U,	// FMINNMPv8f16
6616    261U,	// FMINNMSrr
6617    901U,	// FMINNMV_VPZ_D
6618    2245U,	// FMINNMV_VPZ_H
6619    1029U,	// FMINNMV_VPZ_S
6620    3U,	// FMINNMVv4i16v
6621    3U,	// FMINNMVv4i32v
6622    4U,	// FMINNMVv8i16v
6623    9511808U,	// FMINNM_ZPmI_D
6624    222153U,	// FMINNM_ZPmI_H
6625    9511936U,	// FMINNM_ZPmI_S
6626    598912U,	// FMINNM_ZPmZ_D
6627    1131465U,	// FMINNM_ZPmZ_H
6628    1647616U,	// FMINNM_ZPmZ_S
6629    41287U,	// FMINNMv2f32
6630    8517U,	// FMINNMv2f64
6631    49480U,	// FMINNMv4f16
6632    16710U,	// FMINNMv4f32
6633    24902U,	// FMINNMv8f16
6634    41287U,	// FMINPv2f32
6635    8517U,	// FMINPv2f64
6636    20U,	// FMINPv2i16p
6637    2U,	// FMINPv2i32p
6638    2U,	// FMINPv2i64p
6639    49480U,	// FMINPv4f16
6640    16710U,	// FMINPv4f32
6641    24902U,	// FMINPv8f16
6642    261U,	// FMINSrr
6643    901U,	// FMINV_VPZ_D
6644    2245U,	// FMINV_VPZ_H
6645    1029U,	// FMINV_VPZ_S
6646    3U,	// FMINVv4i16v
6647    3U,	// FMINVv4i32v
6648    4U,	// FMINVv8i16v
6649    9511808U,	// FMIN_ZPmI_D
6650    222153U,	// FMIN_ZPmI_H
6651    9511936U,	// FMIN_ZPmI_S
6652    598912U,	// FMIN_ZPmZ_D
6653    1131465U,	// FMIN_ZPmZ_H
6654    1647616U,	// FMIN_ZPmZ_S
6655    41287U,	// FMINv2f32
6656    8517U,	// FMINv2f64
6657    49480U,	// FMINv4f16
6658    16710U,	// FMINv4f32
6659    24902U,	// FMINv8f16
6660    6889536U,	// FMLA_ZPmZZ_D
6661    1246144U,	// FMLA_ZPmZZ_H
6662    7413952U,	// FMLA_ZPmZZ_S
6663    2905U,	// FMLA_ZZZI_D
6664    0U,	// FMLA_ZZZI_H
6665    2904U,	// FMLA_ZZZI_S
6666    9118085U,	// FMLAv1i16_indexed
6667    9126277U,	// FMLAv1i32_indexed
6668    9142661U,	// FMLAv1i64_indexed
6669    41351U,	// FMLAv2f32
6670    8581U,	// FMLAv2f64
6671    9126279U,	// FMLAv2i32_indexed
6672    9142661U,	// FMLAv2i64_indexed
6673    49544U,	// FMLAv4f16
6674    16774U,	// FMLAv4f32
6675    9118088U,	// FMLAv4i16_indexed
6676    9126278U,	// FMLAv4i32_indexed
6677    24966U,	// FMLAv8f16
6678    9118086U,	// FMLAv8i16_indexed
6679    6889536U,	// FMLS_ZPmZZ_D
6680    1246144U,	// FMLS_ZPmZZ_H
6681    7413952U,	// FMLS_ZPmZZ_S
6682    2905U,	// FMLS_ZZZI_D
6683    0U,	// FMLS_ZZZI_H
6684    2904U,	// FMLS_ZZZI_S
6685    9118085U,	// FMLSv1i16_indexed
6686    9126277U,	// FMLSv1i32_indexed
6687    9142661U,	// FMLSv1i64_indexed
6688    41351U,	// FMLSv2f32
6689    8581U,	// FMLSv2f64
6690    9126279U,	// FMLSv2i32_indexed
6691    9142661U,	// FMLSv2i64_indexed
6692    49544U,	// FMLSv4f16
6693    16774U,	// FMLSv4f32
6694    9118088U,	// FMLSv4i16_indexed
6695    9126278U,	// FMLSv4i32_indexed
6696    24966U,	// FMLSv8f16
6697    9118086U,	// FMLSv8i16_indexed
6698    0U,	// FMOVD0
6699    2771U,	// FMOVDXHighr
6700    1U,	// FMOVDXr
6701    0U,	// FMOVDi
6702    1U,	// FMOVDr
6703    0U,	// FMOVH0
6704    1U,	// FMOVHWr
6705    1U,	// FMOVHXr
6706    0U,	// FMOVHi
6707    1U,	// FMOVHr
6708    0U,	// FMOVS0
6709    1U,	// FMOVSWr
6710    0U,	// FMOVSi
6711    1U,	// FMOVSr
6712    1U,	// FMOVWHr
6713    1U,	// FMOVWSr
6714    1U,	// FMOVXDHighr
6715    1U,	// FMOVXDr
6716    1U,	// FMOVXHr
6717    0U,	// FMOVv2f32_ns
6718    0U,	// FMOVv2f64_ns
6719    0U,	// FMOVv4f16_ns
6720    0U,	// FMOVv4f32_ns
6721    0U,	// FMOVv8f16_ns
6722    6889536U,	// FMSB_ZPmZZ_D
6723    1246144U,	// FMSB_ZPmZZ_H
6724    7413952U,	// FMSB_ZPmZZ_S
6725    2171141U,	// FMSUBDrrr
6726    2171141U,	// FMSUBHrrr
6727    2171141U,	// FMSUBSrrr
6728    261U,	// FMULDrr
6729    261U,	// FMULHrr
6730    261U,	// FMULSrr
6731    261U,	// FMULX16
6732    261U,	// FMULX32
6733    261U,	// FMULX64
6734    598912U,	// FMULX_ZPmZ_D
6735    1131465U,	// FMULX_ZPmZ_H
6736    1647616U,	// FMULX_ZPmZ_S
6737    10166597U,	// FMULXv1i16_indexed
6738    10174789U,	// FMULXv1i32_indexed
6739    10191173U,	// FMULXv1i64_indexed
6740    41287U,	// FMULXv2f32
6741    8517U,	// FMULXv2f64
6742    10174791U,	// FMULXv2i32_indexed
6743    10191173U,	// FMULXv2i64_indexed
6744    49480U,	// FMULXv4f16
6745    16710U,	// FMULXv4f32
6746    10166600U,	// FMULXv4i16_indexed
6747    10174790U,	// FMULXv4i32_indexed
6748    24902U,	// FMULXv8f16
6749    10166598U,	// FMULXv8i16_indexed
6750    10560384U,	// FMUL_ZPmI_D
6751    238537U,	// FMUL_ZPmI_H
6752    10560512U,	// FMUL_ZPmI_S
6753    598912U,	// FMUL_ZPmZ_D
6754    1131465U,	// FMUL_ZPmZ_H
6755    1647616U,	// FMUL_ZPmZ_S
6756    246661U,	// FMUL_ZZZI_D
6757    3081U,	// FMUL_ZZZI_H
6758    246789U,	// FMUL_ZZZI_S
6759    901U,	// FMUL_ZZZ_D
6760    137U,	// FMUL_ZZZ_H
6761    1029U,	// FMUL_ZZZ_S
6762    10166597U,	// FMULv1i16_indexed
6763    10174789U,	// FMULv1i32_indexed
6764    10191173U,	// FMULv1i64_indexed
6765    41287U,	// FMULv2f32
6766    8517U,	// FMULv2f64
6767    10174791U,	// FMULv2i32_indexed
6768    10191173U,	// FMULv2i64_indexed
6769    49480U,	// FMULv4f16
6770    16710U,	// FMULv4f32
6771    10166600U,	// FMULv4i16_indexed
6772    10174790U,	// FMULv4i32_indexed
6773    24902U,	// FMULv8f16
6774    10166598U,	// FMULv8i16_indexed
6775    1U,	// FNEGDr
6776    1U,	// FNEGHr
6777    1U,	// FNEGSr
6778    64U,	// FNEG_ZPmZ_D
6779    128U,	// FNEG_ZPmZ_H
6780    192U,	// FNEG_ZPmZ_S
6781    2U,	// FNEGv2f32
6782    2U,	// FNEGv2f64
6783    3U,	// FNEGv4f16
6784    3U,	// FNEGv4f32
6785    4U,	// FNEGv8f16
6786    2171141U,	// FNMADDDrrr
6787    2171141U,	// FNMADDHrrr
6788    2171141U,	// FNMADDSrrr
6789    6889536U,	// FNMAD_ZPmZZ_D
6790    1246144U,	// FNMAD_ZPmZZ_H
6791    7413952U,	// FNMAD_ZPmZZ_S
6792    6889536U,	// FNMLA_ZPmZZ_D
6793    1246144U,	// FNMLA_ZPmZZ_H
6794    7413952U,	// FNMLA_ZPmZZ_S
6795    6889536U,	// FNMLS_ZPmZZ_D
6796    1246144U,	// FNMLS_ZPmZZ_H
6797    7413952U,	// FNMLS_ZPmZZ_S
6798    6889536U,	// FNMSB_ZPmZZ_D
6799    1246144U,	// FNMSB_ZPmZZ_H
6800    7413952U,	// FNMSB_ZPmZZ_S
6801    2171141U,	// FNMSUBDrrr
6802    2171141U,	// FNMSUBHrrr
6803    2171141U,	// FNMSUBSrrr
6804    261U,	// FNMULDrr
6805    261U,	// FNMULHrr
6806    261U,	// FNMULSrr
6807    1U,	// FRECPE_ZZ_D
6808    0U,	// FRECPE_ZZ_H
6809    1U,	// FRECPE_ZZ_S
6810    1U,	// FRECPEv1f16
6811    1U,	// FRECPEv1i32
6812    1U,	// FRECPEv1i64
6813    2U,	// FRECPEv2f32
6814    2U,	// FRECPEv2f64
6815    3U,	// FRECPEv4f16
6816    3U,	// FRECPEv4f32
6817    4U,	// FRECPEv8f16
6818    261U,	// FRECPS16
6819    261U,	// FRECPS32
6820    261U,	// FRECPS64
6821    901U,	// FRECPS_ZZZ_D
6822    137U,	// FRECPS_ZZZ_H
6823    1029U,	// FRECPS_ZZZ_S
6824    41287U,	// FRECPSv2f32
6825    8517U,	// FRECPSv2f64
6826    49480U,	// FRECPSv4f16
6827    16710U,	// FRECPSv4f32
6828    24902U,	// FRECPSv8f16
6829    64U,	// FRECPX_ZPmZ_D
6830    128U,	// FRECPX_ZPmZ_H
6831    192U,	// FRECPX_ZPmZ_S
6832    1U,	// FRECPXv1f16
6833    1U,	// FRECPXv1i32
6834    1U,	// FRECPXv1i64
6835    1U,	// FRINTADr
6836    1U,	// FRINTAHr
6837    1U,	// FRINTASr
6838    64U,	// FRINTA_ZPmZ_D
6839    128U,	// FRINTA_ZPmZ_H
6840    192U,	// FRINTA_ZPmZ_S
6841    2U,	// FRINTAv2f32
6842    2U,	// FRINTAv2f64
6843    3U,	// FRINTAv4f16
6844    3U,	// FRINTAv4f32
6845    4U,	// FRINTAv8f16
6846    1U,	// FRINTIDr
6847    1U,	// FRINTIHr
6848    1U,	// FRINTISr
6849    64U,	// FRINTI_ZPmZ_D
6850    128U,	// FRINTI_ZPmZ_H
6851    192U,	// FRINTI_ZPmZ_S
6852    2U,	// FRINTIv2f32
6853    2U,	// FRINTIv2f64
6854    3U,	// FRINTIv4f16
6855    3U,	// FRINTIv4f32
6856    4U,	// FRINTIv8f16
6857    1U,	// FRINTMDr
6858    1U,	// FRINTMHr
6859    1U,	// FRINTMSr
6860    64U,	// FRINTM_ZPmZ_D
6861    128U,	// FRINTM_ZPmZ_H
6862    192U,	// FRINTM_ZPmZ_S
6863    2U,	// FRINTMv2f32
6864    2U,	// FRINTMv2f64
6865    3U,	// FRINTMv4f16
6866    3U,	// FRINTMv4f32
6867    4U,	// FRINTMv8f16
6868    1U,	// FRINTNDr
6869    1U,	// FRINTNHr
6870    1U,	// FRINTNSr
6871    64U,	// FRINTN_ZPmZ_D
6872    128U,	// FRINTN_ZPmZ_H
6873    192U,	// FRINTN_ZPmZ_S
6874    2U,	// FRINTNv2f32
6875    2U,	// FRINTNv2f64
6876    3U,	// FRINTNv4f16
6877    3U,	// FRINTNv4f32
6878    4U,	// FRINTNv8f16
6879    1U,	// FRINTPDr
6880    1U,	// FRINTPHr
6881    1U,	// FRINTPSr
6882    64U,	// FRINTP_ZPmZ_D
6883    128U,	// FRINTP_ZPmZ_H
6884    192U,	// FRINTP_ZPmZ_S
6885    2U,	// FRINTPv2f32
6886    2U,	// FRINTPv2f64
6887    3U,	// FRINTPv4f16
6888    3U,	// FRINTPv4f32
6889    4U,	// FRINTPv8f16
6890    1U,	// FRINTXDr
6891    1U,	// FRINTXHr
6892    1U,	// FRINTXSr
6893    64U,	// FRINTX_ZPmZ_D
6894    128U,	// FRINTX_ZPmZ_H
6895    192U,	// FRINTX_ZPmZ_S
6896    2U,	// FRINTXv2f32
6897    2U,	// FRINTXv2f64
6898    3U,	// FRINTXv4f16
6899    3U,	// FRINTXv4f32
6900    4U,	// FRINTXv8f16
6901    1U,	// FRINTZDr
6902    1U,	// FRINTZHr
6903    1U,	// FRINTZSr
6904    64U,	// FRINTZ_ZPmZ_D
6905    128U,	// FRINTZ_ZPmZ_H
6906    192U,	// FRINTZ_ZPmZ_S
6907    2U,	// FRINTZv2f32
6908    2U,	// FRINTZv2f64
6909    3U,	// FRINTZv4f16
6910    3U,	// FRINTZv4f32
6911    4U,	// FRINTZv8f16
6912    1U,	// FRSQRTE_ZZ_D
6913    0U,	// FRSQRTE_ZZ_H
6914    1U,	// FRSQRTE_ZZ_S
6915    1U,	// FRSQRTEv1f16
6916    1U,	// FRSQRTEv1i32
6917    1U,	// FRSQRTEv1i64
6918    2U,	// FRSQRTEv2f32
6919    2U,	// FRSQRTEv2f64
6920    3U,	// FRSQRTEv4f16
6921    3U,	// FRSQRTEv4f32
6922    4U,	// FRSQRTEv8f16
6923    261U,	// FRSQRTS16
6924    261U,	// FRSQRTS32
6925    261U,	// FRSQRTS64
6926    901U,	// FRSQRTS_ZZZ_D
6927    137U,	// FRSQRTS_ZZZ_H
6928    1029U,	// FRSQRTS_ZZZ_S
6929    41287U,	// FRSQRTSv2f32
6930    8517U,	// FRSQRTSv2f64
6931    49480U,	// FRSQRTSv4f16
6932    16710U,	// FRSQRTSv4f32
6933    24902U,	// FRSQRTSv8f16
6934    598912U,	// FSCALE_ZPmZ_D
6935    1131465U,	// FSCALE_ZPmZ_H
6936    1647616U,	// FSCALE_ZPmZ_S
6937    1U,	// FSQRTDr
6938    1U,	// FSQRTHr
6939    1U,	// FSQRTSr
6940    64U,	// FSQRT_ZPmZ_D
6941    128U,	// FSQRT_ZPmZ_H
6942    192U,	// FSQRT_ZPmZ_S
6943    2U,	// FSQRTv2f32
6944    2U,	// FSQRTv2f64
6945    3U,	// FSQRTv4f16
6946    3U,	// FSQRTv4f32
6947    4U,	// FSQRTv8f16
6948    261U,	// FSUBDrr
6949    261U,	// FSUBHrr
6950    5317504U,	// FSUBR_ZPmI_D
6951    140233U,	// FSUBR_ZPmI_H
6952    5317632U,	// FSUBR_ZPmI_S
6953    598912U,	// FSUBR_ZPmZ_D
6954    1131465U,	// FSUBR_ZPmZ_H
6955    1647616U,	// FSUBR_ZPmZ_S
6956    261U,	// FSUBSrr
6957    5317504U,	// FSUB_ZPmI_D
6958    140233U,	// FSUB_ZPmI_H
6959    5317632U,	// FSUB_ZPmI_S
6960    598912U,	// FSUB_ZPmZ_D
6961    1131465U,	// FSUB_ZPmZ_H
6962    1647616U,	// FSUB_ZPmZ_S
6963    901U,	// FSUB_ZZZ_D
6964    137U,	// FSUB_ZZZ_H
6965    1029U,	// FSUB_ZZZ_S
6966    41287U,	// FSUBv2f32
6967    8517U,	// FSUBv2f64
6968    49480U,	// FSUBv4f16
6969    16710U,	// FSUBv4f32
6970    24902U,	// FSUBv8f16
6971    2171781U,	// FTMAD_ZZI_D
6972    91081U,	// FTMAD_ZZI_H
6973    2171909U,	// FTMAD_ZZI_S
6974    901U,	// FTSMUL_ZZZ_D
6975    137U,	// FTSMUL_ZZZ_H
6976    1029U,	// FTSMUL_ZZZ_S
6977    901U,	// FTSSEL_ZZZ_D
6978    137U,	// FTSSEL_ZZZ_H
6979    1029U,	// FTSSEL_ZZZ_S
6980    3153U,	// GLD1B_D_IMM_REAL
6981    3205U,	// GLD1B_D_REAL
6982    3269U,	// GLD1B_D_SXTW_REAL
6983    3333U,	// GLD1B_D_UXTW_REAL
6984    3153U,	// GLD1B_S_IMM_REAL
6985    3397U,	// GLD1B_S_SXTW_REAL
6986    3461U,	// GLD1B_S_UXTW_REAL
6987    26U,	// GLD1D_IMM_REAL
6988    3205U,	// GLD1D_REAL
6989    3525U,	// GLD1D_SCALED_REAL
6990    3269U,	// GLD1D_SXTW_REAL
6991    3589U,	// GLD1D_SXTW_SCALED_REAL
6992    3333U,	// GLD1D_UXTW_REAL
6993    3653U,	// GLD1D_UXTW_SCALED_REAL
6994    26U,	// GLD1H_D_IMM_REAL
6995    3205U,	// GLD1H_D_REAL
6996    3717U,	// GLD1H_D_SCALED_REAL
6997    3269U,	// GLD1H_D_SXTW_REAL
6998    3781U,	// GLD1H_D_SXTW_SCALED_REAL
6999    3333U,	// GLD1H_D_UXTW_REAL
7000    3845U,	// GLD1H_D_UXTW_SCALED_REAL
7001    26U,	// GLD1H_S_IMM_REAL
7002    3397U,	// GLD1H_S_SXTW_REAL
7003    3909U,	// GLD1H_S_SXTW_SCALED_REAL
7004    3461U,	// GLD1H_S_UXTW_REAL
7005    3973U,	// GLD1H_S_UXTW_SCALED_REAL
7006    3153U,	// GLD1SB_D_IMM_REAL
7007    3205U,	// GLD1SB_D_REAL
7008    3269U,	// GLD1SB_D_SXTW_REAL
7009    3333U,	// GLD1SB_D_UXTW_REAL
7010    3153U,	// GLD1SB_S_IMM_REAL
7011    3397U,	// GLD1SB_S_SXTW_REAL
7012    3461U,	// GLD1SB_S_UXTW_REAL
7013    26U,	// GLD1SH_D_IMM_REAL
7014    3205U,	// GLD1SH_D_REAL
7015    3717U,	// GLD1SH_D_SCALED_REAL
7016    3269U,	// GLD1SH_D_SXTW_REAL
7017    3781U,	// GLD1SH_D_SXTW_SCALED_REAL
7018    3333U,	// GLD1SH_D_UXTW_REAL
7019    3845U,	// GLD1SH_D_UXTW_SCALED_REAL
7020    26U,	// GLD1SH_S_IMM_REAL
7021    3397U,	// GLD1SH_S_SXTW_REAL
7022    3909U,	// GLD1SH_S_SXTW_SCALED_REAL
7023    3461U,	// GLD1SH_S_UXTW_REAL
7024    3973U,	// GLD1SH_S_UXTW_SCALED_REAL
7025    27U,	// GLD1SW_D_IMM_REAL
7026    3205U,	// GLD1SW_D_REAL
7027    4037U,	// GLD1SW_D_SCALED_REAL
7028    3269U,	// GLD1SW_D_SXTW_REAL
7029    4101U,	// GLD1SW_D_SXTW_SCALED_REAL
7030    3333U,	// GLD1SW_D_UXTW_REAL
7031    4165U,	// GLD1SW_D_UXTW_SCALED_REAL
7032    27U,	// GLD1W_D_IMM_REAL
7033    3205U,	// GLD1W_D_REAL
7034    4037U,	// GLD1W_D_SCALED_REAL
7035    3269U,	// GLD1W_D_SXTW_REAL
7036    4101U,	// GLD1W_D_SXTW_SCALED_REAL
7037    3333U,	// GLD1W_D_UXTW_REAL
7038    4165U,	// GLD1W_D_UXTW_SCALED_REAL
7039    27U,	// GLD1W_IMM_REAL
7040    3397U,	// GLD1W_SXTW_REAL
7041    4229U,	// GLD1W_SXTW_SCALED_REAL
7042    3461U,	// GLD1W_UXTW_REAL
7043    4293U,	// GLD1W_UXTW_SCALED_REAL
7044    3153U,	// GLDFF1B_D_IMM_REAL
7045    3205U,	// GLDFF1B_D_REAL
7046    3269U,	// GLDFF1B_D_SXTW_REAL
7047    3333U,	// GLDFF1B_D_UXTW_REAL
7048    3153U,	// GLDFF1B_S_IMM_REAL
7049    3397U,	// GLDFF1B_S_SXTW_REAL
7050    3461U,	// GLDFF1B_S_UXTW_REAL
7051    26U,	// GLDFF1D_IMM_REAL
7052    3205U,	// GLDFF1D_REAL
7053    3525U,	// GLDFF1D_SCALED_REAL
7054    3269U,	// GLDFF1D_SXTW_REAL
7055    3589U,	// GLDFF1D_SXTW_SCALED_REAL
7056    3333U,	// GLDFF1D_UXTW_REAL
7057    3653U,	// GLDFF1D_UXTW_SCALED_REAL
7058    26U,	// GLDFF1H_D_IMM_REAL
7059    3205U,	// GLDFF1H_D_REAL
7060    3717U,	// GLDFF1H_D_SCALED_REAL
7061    3269U,	// GLDFF1H_D_SXTW_REAL
7062    3781U,	// GLDFF1H_D_SXTW_SCALED_REAL
7063    3333U,	// GLDFF1H_D_UXTW_REAL
7064    3845U,	// GLDFF1H_D_UXTW_SCALED_REAL
7065    26U,	// GLDFF1H_S_IMM_REAL
7066    3397U,	// GLDFF1H_S_SXTW_REAL
7067    3909U,	// GLDFF1H_S_SXTW_SCALED_REAL
7068    3461U,	// GLDFF1H_S_UXTW_REAL
7069    3973U,	// GLDFF1H_S_UXTW_SCALED_REAL
7070    3153U,	// GLDFF1SB_D_IMM_REAL
7071    3205U,	// GLDFF1SB_D_REAL
7072    3269U,	// GLDFF1SB_D_SXTW_REAL
7073    3333U,	// GLDFF1SB_D_UXTW_REAL
7074    3153U,	// GLDFF1SB_S_IMM_REAL
7075    3397U,	// GLDFF1SB_S_SXTW_REAL
7076    3461U,	// GLDFF1SB_S_UXTW_REAL
7077    26U,	// GLDFF1SH_D_IMM_REAL
7078    3205U,	// GLDFF1SH_D_REAL
7079    3717U,	// GLDFF1SH_D_SCALED_REAL
7080    3269U,	// GLDFF1SH_D_SXTW_REAL
7081    3781U,	// GLDFF1SH_D_SXTW_SCALED_REAL
7082    3333U,	// GLDFF1SH_D_UXTW_REAL
7083    3845U,	// GLDFF1SH_D_UXTW_SCALED_REAL
7084    26U,	// GLDFF1SH_S_IMM_REAL
7085    3397U,	// GLDFF1SH_S_SXTW_REAL
7086    3909U,	// GLDFF1SH_S_SXTW_SCALED_REAL
7087    3461U,	// GLDFF1SH_S_UXTW_REAL
7088    3973U,	// GLDFF1SH_S_UXTW_SCALED_REAL
7089    27U,	// GLDFF1SW_D_IMM_REAL
7090    3205U,	// GLDFF1SW_D_REAL
7091    4037U,	// GLDFF1SW_D_SCALED_REAL
7092    3269U,	// GLDFF1SW_D_SXTW_REAL
7093    4101U,	// GLDFF1SW_D_SXTW_SCALED_REAL
7094    3333U,	// GLDFF1SW_D_UXTW_REAL
7095    4165U,	// GLDFF1SW_D_UXTW_SCALED_REAL
7096    27U,	// GLDFF1W_D_IMM_REAL
7097    3205U,	// GLDFF1W_D_REAL
7098    4037U,	// GLDFF1W_D_SCALED_REAL
7099    3269U,	// GLDFF1W_D_SXTW_REAL
7100    4101U,	// GLDFF1W_D_SXTW_SCALED_REAL
7101    3333U,	// GLDFF1W_D_UXTW_REAL
7102    4165U,	// GLDFF1W_D_UXTW_SCALED_REAL
7103    27U,	// GLDFF1W_IMM_REAL
7104    3397U,	// GLDFF1W_SXTW_REAL
7105    4229U,	// GLDFF1W_SXTW_SCALED_REAL
7106    3461U,	// GLDFF1W_UXTW_REAL
7107    4293U,	// GLDFF1W_UXTW_SCALED_REAL
7108    0U,	// HINT
7109    0U,	// HLT
7110    0U,	// HVC
7111    0U,	// INCB_XPiI
7112    0U,	// INCD_XPiI
7113    0U,	// INCD_ZPiI
7114    0U,	// INCH_XPiI
7115    0U,	// INCH_ZPiI
7116    1U,	// INCP_XP_B
7117    1U,	// INCP_XP_D
7118    1U,	// INCP_XP_H
7119    1U,	// INCP_XP_S
7120    1U,	// INCP_ZP_D
7121    0U,	// INCP_ZP_H
7122    1U,	// INCP_ZP_S
7123    0U,	// INCW_XPiI
7124    0U,	// INCW_ZPiI
7125    261U,	// INDEX_II_B
7126    261U,	// INDEX_II_D
7127    11U,	// INDEX_II_H
7128    261U,	// INDEX_II_S
7129    261U,	// INDEX_IR_B
7130    261U,	// INDEX_IR_D
7131    11U,	// INDEX_IR_H
7132    261U,	// INDEX_IR_S
7133    261U,	// INDEX_RI_B
7134    261U,	// INDEX_RI_D
7135    11U,	// INDEX_RI_H
7136    261U,	// INDEX_RI_S
7137    261U,	// INDEX_RR_B
7138    261U,	// INDEX_RR_D
7139    11U,	// INDEX_RR_H
7140    261U,	// INDEX_RR_S
7141    1U,	// INSR_ZR_B
7142    1U,	// INSR_ZR_D
7143    0U,	// INSR_ZR_H
7144    1U,	// INSR_ZR_S
7145    1U,	// INSR_ZV_B
7146    1U,	// INSR_ZV_D
7147    0U,	// INSR_ZV_H
7148    1U,	// INSR_ZV_S
7149    1U,	// INSvi16gpr
7150    2898U,	// INSvi16lane
7151    1U,	// INSvi32gpr
7152    2898U,	// INSvi32lane
7153    1U,	// INSvi64gpr
7154    2899U,	// INSvi64lane
7155    1U,	// INSvi8gpr
7156    2899U,	// INSvi8lane
7157    0U,	// ISB
7158    837U,	// LASTA_RPZ_B
7159    901U,	// LASTA_RPZ_D
7160    2245U,	// LASTA_RPZ_H
7161    1029U,	// LASTA_RPZ_S
7162    837U,	// LASTA_VPZ_B
7163    901U,	// LASTA_VPZ_D
7164    2245U,	// LASTA_VPZ_H
7165    1029U,	// LASTA_VPZ_S
7166    837U,	// LASTB_RPZ_B
7167    901U,	// LASTB_RPZ_D
7168    2245U,	// LASTB_RPZ_H
7169    1029U,	// LASTB_RPZ_S
7170    837U,	// LASTB_VPZ_B
7171    901U,	// LASTB_VPZ_D
7172    2245U,	// LASTB_VPZ_H
7173    1029U,	// LASTB_VPZ_S
7174    4357U,	// LD1B
7175    4357U,	// LD1B_D
7176    256261U,	// LD1B_D_IMM_REAL
7177    4357U,	// LD1B_H
7178    256261U,	// LD1B_H_IMM_REAL
7179    256261U,	// LD1B_IMM_REAL
7180    4357U,	// LD1B_S
7181    256261U,	// LD1B_S_IMM_REAL
7182    4421U,	// LD1D
7183    256261U,	// LD1D_IMM_REAL
7184    0U,	// LD1Fourv16b
7185    0U,	// LD1Fourv16b_POST
7186    0U,	// LD1Fourv1d
7187    0U,	// LD1Fourv1d_POST
7188    0U,	// LD1Fourv2d
7189    0U,	// LD1Fourv2d_POST
7190    0U,	// LD1Fourv2s
7191    0U,	// LD1Fourv2s_POST
7192    0U,	// LD1Fourv4h
7193    0U,	// LD1Fourv4h_POST
7194    0U,	// LD1Fourv4s
7195    0U,	// LD1Fourv4s_POST
7196    0U,	// LD1Fourv8b
7197    0U,	// LD1Fourv8b_POST
7198    0U,	// LD1Fourv8h
7199    0U,	// LD1Fourv8h_POST
7200    4485U,	// LD1H
7201    4485U,	// LD1H_D
7202    256261U,	// LD1H_D_IMM_REAL
7203    256261U,	// LD1H_IMM_REAL
7204    4485U,	// LD1H_S
7205    256261U,	// LD1H_S_IMM_REAL
7206    0U,	// LD1Onev16b
7207    0U,	// LD1Onev16b_POST
7208    0U,	// LD1Onev1d
7209    0U,	// LD1Onev1d_POST
7210    0U,	// LD1Onev2d
7211    0U,	// LD1Onev2d_POST
7212    0U,	// LD1Onev2s
7213    0U,	// LD1Onev2s_POST
7214    0U,	// LD1Onev4h
7215    0U,	// LD1Onev4h_POST
7216    0U,	// LD1Onev4s
7217    0U,	// LD1Onev4s_POST
7218    0U,	// LD1Onev8b
7219    0U,	// LD1Onev8b_POST
7220    0U,	// LD1Onev8h
7221    0U,	// LD1Onev8h_POST
7222    116997U,	// LD1RB_D_IMM
7223    116997U,	// LD1RB_H_IMM
7224    116997U,	// LD1RB_IMM
7225    116997U,	// LD1RB_S_IMM
7226    119237U,	// LD1RD_IMM
7227    119301U,	// LD1RH_D_IMM
7228    119301U,	// LD1RH_IMM
7229    119301U,	// LD1RH_S_IMM
7230    4357U,	// LD1RQ_B
7231    4677U,	// LD1RQ_B_IMM
7232    4421U,	// LD1RQ_D
7233    4677U,	// LD1RQ_D_IMM
7234    4485U,	// LD1RQ_H
7235    4677U,	// LD1RQ_H_IMM
7236    4741U,	// LD1RQ_W
7237    4677U,	// LD1RQ_W_IMM
7238    116997U,	// LD1RSB_D_IMM
7239    116997U,	// LD1RSB_H_IMM
7240    116997U,	// LD1RSB_S_IMM
7241    119301U,	// LD1RSH_D_IMM
7242    119301U,	// LD1RSH_S_IMM
7243    119493U,	// LD1RSW_IMM
7244    119493U,	// LD1RW_D_IMM
7245    119493U,	// LD1RW_IMM
7246    0U,	// LD1Rv16b
7247    0U,	// LD1Rv16b_POST
7248    0U,	// LD1Rv1d
7249    0U,	// LD1Rv1d_POST
7250    0U,	// LD1Rv2d
7251    0U,	// LD1Rv2d_POST
7252    0U,	// LD1Rv2s
7253    0U,	// LD1Rv2s_POST
7254    0U,	// LD1Rv4h
7255    0U,	// LD1Rv4h_POST
7256    0U,	// LD1Rv4s
7257    0U,	// LD1Rv4s_POST
7258    0U,	// LD1Rv8b
7259    0U,	// LD1Rv8b_POST
7260    0U,	// LD1Rv8h
7261    0U,	// LD1Rv8h_POST
7262    4357U,	// LD1SB_D
7263    256261U,	// LD1SB_D_IMM_REAL
7264    4357U,	// LD1SB_H
7265    256261U,	// LD1SB_H_IMM_REAL
7266    4357U,	// LD1SB_S
7267    256261U,	// LD1SB_S_IMM_REAL
7268    4485U,	// LD1SH_D
7269    256261U,	// LD1SH_D_IMM_REAL
7270    4485U,	// LD1SH_S
7271    256261U,	// LD1SH_S_IMM_REAL
7272    4741U,	// LD1SW_D
7273    256261U,	// LD1SW_D_IMM_REAL
7274    0U,	// LD1Threev16b
7275    0U,	// LD1Threev16b_POST
7276    0U,	// LD1Threev1d
7277    0U,	// LD1Threev1d_POST
7278    0U,	// LD1Threev2d
7279    0U,	// LD1Threev2d_POST
7280    0U,	// LD1Threev2s
7281    0U,	// LD1Threev2s_POST
7282    0U,	// LD1Threev4h
7283    0U,	// LD1Threev4h_POST
7284    0U,	// LD1Threev4s
7285    0U,	// LD1Threev4s_POST
7286    0U,	// LD1Threev8b
7287    0U,	// LD1Threev8b_POST
7288    0U,	// LD1Threev8h
7289    0U,	// LD1Threev8h_POST
7290    0U,	// LD1Twov16b
7291    0U,	// LD1Twov16b_POST
7292    0U,	// LD1Twov1d
7293    0U,	// LD1Twov1d_POST
7294    0U,	// LD1Twov2d
7295    0U,	// LD1Twov2d_POST
7296    0U,	// LD1Twov2s
7297    0U,	// LD1Twov2s_POST
7298    0U,	// LD1Twov4h
7299    0U,	// LD1Twov4h_POST
7300    0U,	// LD1Twov4s
7301    0U,	// LD1Twov4s_POST
7302    0U,	// LD1Twov8b
7303    0U,	// LD1Twov8b_POST
7304    0U,	// LD1Twov8h
7305    0U,	// LD1Twov8h_POST
7306    4741U,	// LD1W
7307    4741U,	// LD1W_D
7308    256261U,	// LD1W_D_IMM_REAL
7309    256261U,	// LD1W_IMM_REAL
7310    0U,	// LD1i16
7311    0U,	// LD1i16_POST
7312    0U,	// LD1i32
7313    0U,	// LD1i32_POST
7314    0U,	// LD1i64
7315    0U,	// LD1i64_POST
7316    0U,	// LD1i8
7317    0U,	// LD1i8_POST
7318    4357U,	// LD2B
7319    258565U,	// LD2B_IMM
7320    4421U,	// LD2D
7321    258565U,	// LD2D_IMM
7322    4485U,	// LD2H
7323    258565U,	// LD2H_IMM
7324    0U,	// LD2Rv16b
7325    0U,	// LD2Rv16b_POST
7326    0U,	// LD2Rv1d
7327    0U,	// LD2Rv1d_POST
7328    0U,	// LD2Rv2d
7329    0U,	// LD2Rv2d_POST
7330    0U,	// LD2Rv2s
7331    0U,	// LD2Rv2s_POST
7332    0U,	// LD2Rv4h
7333    0U,	// LD2Rv4h_POST
7334    0U,	// LD2Rv4s
7335    0U,	// LD2Rv4s_POST
7336    0U,	// LD2Rv8b
7337    0U,	// LD2Rv8b_POST
7338    0U,	// LD2Rv8h
7339    0U,	// LD2Rv8h_POST
7340    0U,	// LD2Twov16b
7341    0U,	// LD2Twov16b_POST
7342    0U,	// LD2Twov2d
7343    0U,	// LD2Twov2d_POST
7344    0U,	// LD2Twov2s
7345    0U,	// LD2Twov2s_POST
7346    0U,	// LD2Twov4h
7347    0U,	// LD2Twov4h_POST
7348    0U,	// LD2Twov4s
7349    0U,	// LD2Twov4s_POST
7350    0U,	// LD2Twov8b
7351    0U,	// LD2Twov8b_POST
7352    0U,	// LD2Twov8h
7353    0U,	// LD2Twov8h_POST
7354    4741U,	// LD2W
7355    258565U,	// LD2W_IMM
7356    0U,	// LD2i16
7357    0U,	// LD2i16_POST
7358    0U,	// LD2i32
7359    0U,	// LD2i32_POST
7360    0U,	// LD2i64
7361    0U,	// LD2i64_POST
7362    0U,	// LD2i8
7363    0U,	// LD2i8_POST
7364    4357U,	// LD3B
7365    4869U,	// LD3B_IMM
7366    4421U,	// LD3D
7367    4869U,	// LD3D_IMM
7368    4485U,	// LD3H
7369    4869U,	// LD3H_IMM
7370    0U,	// LD3Rv16b
7371    0U,	// LD3Rv16b_POST
7372    0U,	// LD3Rv1d
7373    0U,	// LD3Rv1d_POST
7374    0U,	// LD3Rv2d
7375    0U,	// LD3Rv2d_POST
7376    0U,	// LD3Rv2s
7377    0U,	// LD3Rv2s_POST
7378    0U,	// LD3Rv4h
7379    0U,	// LD3Rv4h_POST
7380    0U,	// LD3Rv4s
7381    0U,	// LD3Rv4s_POST
7382    0U,	// LD3Rv8b
7383    0U,	// LD3Rv8b_POST
7384    0U,	// LD3Rv8h
7385    0U,	// LD3Rv8h_POST
7386    0U,	// LD3Threev16b
7387    0U,	// LD3Threev16b_POST
7388    0U,	// LD3Threev2d
7389    0U,	// LD3Threev2d_POST
7390    0U,	// LD3Threev2s
7391    0U,	// LD3Threev2s_POST
7392    0U,	// LD3Threev4h
7393    0U,	// LD3Threev4h_POST
7394    0U,	// LD3Threev4s
7395    0U,	// LD3Threev4s_POST
7396    0U,	// LD3Threev8b
7397    0U,	// LD3Threev8b_POST
7398    0U,	// LD3Threev8h
7399    0U,	// LD3Threev8h_POST
7400    4741U,	// LD3W
7401    4869U,	// LD3W_IMM
7402    0U,	// LD3i16
7403    0U,	// LD3i16_POST
7404    0U,	// LD3i32
7405    0U,	// LD3i32_POST
7406    0U,	// LD3i64
7407    0U,	// LD3i64_POST
7408    0U,	// LD3i8
7409    0U,	// LD3i8_POST
7410    4357U,	// LD4B
7411    258757U,	// LD4B_IMM
7412    4421U,	// LD4D
7413    258757U,	// LD4D_IMM
7414    0U,	// LD4Fourv16b
7415    0U,	// LD4Fourv16b_POST
7416    0U,	// LD4Fourv2d
7417    0U,	// LD4Fourv2d_POST
7418    0U,	// LD4Fourv2s
7419    0U,	// LD4Fourv2s_POST
7420    0U,	// LD4Fourv4h
7421    0U,	// LD4Fourv4h_POST
7422    0U,	// LD4Fourv4s
7423    0U,	// LD4Fourv4s_POST
7424    0U,	// LD4Fourv8b
7425    0U,	// LD4Fourv8b_POST
7426    0U,	// LD4Fourv8h
7427    0U,	// LD4Fourv8h_POST
7428    4485U,	// LD4H
7429    258757U,	// LD4H_IMM
7430    0U,	// LD4Rv16b
7431    0U,	// LD4Rv16b_POST
7432    0U,	// LD4Rv1d
7433    0U,	// LD4Rv1d_POST
7434    0U,	// LD4Rv2d
7435    0U,	// LD4Rv2d_POST
7436    0U,	// LD4Rv2s
7437    0U,	// LD4Rv2s_POST
7438    0U,	// LD4Rv4h
7439    0U,	// LD4Rv4h_POST
7440    0U,	// LD4Rv4s
7441    0U,	// LD4Rv4s_POST
7442    0U,	// LD4Rv8b
7443    0U,	// LD4Rv8b_POST
7444    0U,	// LD4Rv8h
7445    0U,	// LD4Rv8h_POST
7446    4741U,	// LD4W
7447    258757U,	// LD4W_IMM
7448    0U,	// LD4i16
7449    0U,	// LD4i16_POST
7450    0U,	// LD4i32
7451    0U,	// LD4i32_POST
7452    0U,	// LD4i64
7453    0U,	// LD4i64_POST
7454    0U,	// LD4i8
7455    0U,	// LD4i8_POST
7456    0U,	// LDADDAB
7457    0U,	// LDADDAH
7458    0U,	// LDADDALB
7459    0U,	// LDADDALH
7460    0U,	// LDADDALW
7461    0U,	// LDADDALX
7462    0U,	// LDADDAW
7463    0U,	// LDADDAX
7464    0U,	// LDADDB
7465    0U,	// LDADDH
7466    0U,	// LDADDLB
7467    0U,	// LDADDLH
7468    0U,	// LDADDLW
7469    0U,	// LDADDLX
7470    0U,	// LDADDW
7471    0U,	// LDADDX
7472    27U,	// LDAPRB
7473    27U,	// LDAPRH
7474    27U,	// LDAPRW
7475    27U,	// LDAPRX
7476    114949U,	// LDAPURBi
7477    114949U,	// LDAPURHi
7478    114949U,	// LDAPURSBWi
7479    114949U,	// LDAPURSBXi
7480    114949U,	// LDAPURSHWi
7481    114949U,	// LDAPURSHXi
7482    114949U,	// LDAPURSWi
7483    114949U,	// LDAPURXi
7484    114949U,	// LDAPURi
7485    27U,	// LDARB
7486    27U,	// LDARH
7487    27U,	// LDARW
7488    27U,	// LDARX
7489    114955U,	// LDAXPW
7490    114955U,	// LDAXPX
7491    27U,	// LDAXRB
7492    27U,	// LDAXRH
7493    27U,	// LDAXRW
7494    27U,	// LDAXRX
7495    0U,	// LDCLRAB
7496    0U,	// LDCLRAH
7497    0U,	// LDCLRALB
7498    0U,	// LDCLRALH
7499    0U,	// LDCLRALW
7500    0U,	// LDCLRALX
7501    0U,	// LDCLRAW
7502    0U,	// LDCLRAX
7503    0U,	// LDCLRB
7504    0U,	// LDCLRH
7505    0U,	// LDCLRLB
7506    0U,	// LDCLRLH
7507    0U,	// LDCLRLW
7508    0U,	// LDCLRLX
7509    0U,	// LDCLRW
7510    0U,	// LDCLRX
7511    0U,	// LDEORAB
7512    0U,	// LDEORAH
7513    0U,	// LDEORALB
7514    0U,	// LDEORALH
7515    0U,	// LDEORALW
7516    0U,	// LDEORALX
7517    0U,	// LDEORAW
7518    0U,	// LDEORAX
7519    0U,	// LDEORB
7520    0U,	// LDEORH
7521    0U,	// LDEORLB
7522    0U,	// LDEORLH
7523    0U,	// LDEORLW
7524    0U,	// LDEORLX
7525    0U,	// LDEORW
7526    0U,	// LDEORX
7527    4357U,	// LDFF1B_D_REAL
7528    4357U,	// LDFF1B_H_REAL
7529    4357U,	// LDFF1B_REAL
7530    4357U,	// LDFF1B_S_REAL
7531    4421U,	// LDFF1D_REAL
7532    4485U,	// LDFF1H_D_REAL
7533    4485U,	// LDFF1H_REAL
7534    4485U,	// LDFF1H_S_REAL
7535    4357U,	// LDFF1SB_D_REAL
7536    4357U,	// LDFF1SB_H_REAL
7537    4357U,	// LDFF1SB_S_REAL
7538    4485U,	// LDFF1SH_D_REAL
7539    4485U,	// LDFF1SH_S_REAL
7540    4741U,	// LDFF1SW_D_REAL
7541    4741U,	// LDFF1W_D_REAL
7542    4741U,	// LDFF1W_REAL
7543    27U,	// LDLARB
7544    27U,	// LDLARH
7545    27U,	// LDLARW
7546    27U,	// LDLARX
7547    256261U,	// LDNF1B_D_IMM_REAL
7548    256261U,	// LDNF1B_H_IMM_REAL
7549    256261U,	// LDNF1B_IMM_REAL
7550    256261U,	// LDNF1B_S_IMM_REAL
7551    256261U,	// LDNF1D_IMM_REAL
7552    256261U,	// LDNF1H_D_IMM_REAL
7553    256261U,	// LDNF1H_IMM_REAL
7554    256261U,	// LDNF1H_S_IMM_REAL
7555    256261U,	// LDNF1SB_D_IMM_REAL
7556    256261U,	// LDNF1SB_H_IMM_REAL
7557    256261U,	// LDNF1SB_S_IMM_REAL
7558    256261U,	// LDNF1SH_D_IMM_REAL
7559    256261U,	// LDNF1SH_S_IMM_REAL
7560    256261U,	// LDNF1SW_D_IMM_REAL
7561    256261U,	// LDNF1W_D_IMM_REAL
7562    256261U,	// LDNF1W_IMM_REAL
7563    11084043U,	// LDNPDi
7564    11608331U,	// LDNPQi
7565    12132619U,	// LDNPSi
7566    12132619U,	// LDNPWi
7567    11084043U,	// LDNPXi
7568    256261U,	// LDNT1B_ZRI
7569    4357U,	// LDNT1B_ZRR
7570    256261U,	// LDNT1D_ZRI
7571    4421U,	// LDNT1D_ZRR
7572    256261U,	// LDNT1H_ZRI
7573    4485U,	// LDNT1H_ZRR
7574    256261U,	// LDNT1W_ZRI
7575    4741U,	// LDNT1W_ZRR
7576    11084043U,	// LDPDi
7577    12847371U,	// LDPDpost
7578    180431115U,	// LDPDpre
7579    11608331U,	// LDPQi
7580    13371659U,	// LDPQpost
7581    180955403U,	// LDPQpre
7582    12132619U,	// LDPSWi
7583    13895947U,	// LDPSWpost
7584    181479691U,	// LDPSWpre
7585    12132619U,	// LDPSi
7586    13895947U,	// LDPSpost
7587    181479691U,	// LDPSpre
7588    12132619U,	// LDPWi
7589    13895947U,	// LDPWpost
7590    181479691U,	// LDPWpre
7591    11084043U,	// LDPXi
7592    12847371U,	// LDPXpost
7593    180431115U,	// LDPXpre
7594    4933U,	// LDRAAindexed
7595    274885U,	// LDRAAwriteback
7596    4933U,	// LDRABindexed
7597    274885U,	// LDRABwriteback
7598    28U,	// LDRBBpost
7599    272645U,	// LDRBBpre
7600    14229765U,	// LDRBBroW
7601    14754053U,	// LDRBBroX
7602    4997U,	// LDRBBui
7603    28U,	// LDRBpost
7604    272645U,	// LDRBpre
7605    14229765U,	// LDRBroW
7606    14754053U,	// LDRBroX
7607    4997U,	// LDRBui
7608    0U,	// LDRDl
7609    28U,	// LDRDpost
7610    272645U,	// LDRDpre
7611    15278341U,	// LDRDroW
7612    15802629U,	// LDRDroX
7613    5061U,	// LDRDui
7614    28U,	// LDRHHpost
7615    272645U,	// LDRHHpre
7616    16326917U,	// LDRHHroW
7617    16851205U,	// LDRHHroX
7618    5125U,	// LDRHHui
7619    28U,	// LDRHpost
7620    272645U,	// LDRHpre
7621    16326917U,	// LDRHroW
7622    16851205U,	// LDRHroX
7623    5125U,	// LDRHui
7624    0U,	// LDRQl
7625    28U,	// LDRQpost
7626    272645U,	// LDRQpre
7627    17375493U,	// LDRQroW
7628    17899781U,	// LDRQroX
7629    5189U,	// LDRQui
7630    28U,	// LDRSBWpost
7631    272645U,	// LDRSBWpre
7632    14229765U,	// LDRSBWroW
7633    14754053U,	// LDRSBWroX
7634    4997U,	// LDRSBWui
7635    28U,	// LDRSBXpost
7636    272645U,	// LDRSBXpre
7637    14229765U,	// LDRSBXroW
7638    14754053U,	// LDRSBXroX
7639    4997U,	// LDRSBXui
7640    28U,	// LDRSHWpost
7641    272645U,	// LDRSHWpre
7642    16326917U,	// LDRSHWroW
7643    16851205U,	// LDRSHWroX
7644    5125U,	// LDRSHWui
7645    28U,	// LDRSHXpost
7646    272645U,	// LDRSHXpre
7647    16326917U,	// LDRSHXroW
7648    16851205U,	// LDRSHXroX
7649    5125U,	// LDRSHXui
7650    0U,	// LDRSWl
7651    28U,	// LDRSWpost
7652    272645U,	// LDRSWpre
7653    18424069U,	// LDRSWroW
7654    18948357U,	// LDRSWroX
7655    5253U,	// LDRSWui
7656    0U,	// LDRSl
7657    28U,	// LDRSpost
7658    272645U,	// LDRSpre
7659    18424069U,	// LDRSroW
7660    18948357U,	// LDRSroX
7661    5253U,	// LDRSui
7662    0U,	// LDRWl
7663    28U,	// LDRWpost
7664    272645U,	// LDRWpre
7665    18424069U,	// LDRWroW
7666    18948357U,	// LDRWroX
7667    5253U,	// LDRWui
7668    0U,	// LDRXl
7669    28U,	// LDRXpost
7670    272645U,	// LDRXpre
7671    15278341U,	// LDRXroW
7672    15802629U,	// LDRXroX
7673    5061U,	// LDRXui
7674    254213U,	// LDR_PXI
7675    254213U,	// LDR_ZXI
7676    0U,	// LDSETAB
7677    0U,	// LDSETAH
7678    0U,	// LDSETALB
7679    0U,	// LDSETALH
7680    0U,	// LDSETALW
7681    0U,	// LDSETALX
7682    0U,	// LDSETAW
7683    0U,	// LDSETAX
7684    0U,	// LDSETB
7685    0U,	// LDSETH
7686    0U,	// LDSETLB
7687    0U,	// LDSETLH
7688    0U,	// LDSETLW
7689    0U,	// LDSETLX
7690    0U,	// LDSETW
7691    0U,	// LDSETX
7692    0U,	// LDSMAXAB
7693    0U,	// LDSMAXAH
7694    0U,	// LDSMAXALB
7695    0U,	// LDSMAXALH
7696    0U,	// LDSMAXALW
7697    0U,	// LDSMAXALX
7698    0U,	// LDSMAXAW
7699    0U,	// LDSMAXAX
7700    0U,	// LDSMAXB
7701    0U,	// LDSMAXH
7702    0U,	// LDSMAXLB
7703    0U,	// LDSMAXLH
7704    0U,	// LDSMAXLW
7705    0U,	// LDSMAXLX
7706    0U,	// LDSMAXW
7707    0U,	// LDSMAXX
7708    0U,	// LDSMINAB
7709    0U,	// LDSMINAH
7710    0U,	// LDSMINALB
7711    0U,	// LDSMINALH
7712    0U,	// LDSMINALW
7713    0U,	// LDSMINALX
7714    0U,	// LDSMINAW
7715    0U,	// LDSMINAX
7716    0U,	// LDSMINB
7717    0U,	// LDSMINH
7718    0U,	// LDSMINLB
7719    0U,	// LDSMINLH
7720    0U,	// LDSMINLW
7721    0U,	// LDSMINLX
7722    0U,	// LDSMINW
7723    0U,	// LDSMINX
7724    114949U,	// LDTRBi
7725    114949U,	// LDTRHi
7726    114949U,	// LDTRSBWi
7727    114949U,	// LDTRSBXi
7728    114949U,	// LDTRSHWi
7729    114949U,	// LDTRSHXi
7730    114949U,	// LDTRSWi
7731    114949U,	// LDTRWi
7732    114949U,	// LDTRXi
7733    0U,	// LDUMAXAB
7734    0U,	// LDUMAXAH
7735    0U,	// LDUMAXALB
7736    0U,	// LDUMAXALH
7737    0U,	// LDUMAXALW
7738    0U,	// LDUMAXALX
7739    0U,	// LDUMAXAW
7740    0U,	// LDUMAXAX
7741    0U,	// LDUMAXB
7742    0U,	// LDUMAXH
7743    0U,	// LDUMAXLB
7744    0U,	// LDUMAXLH
7745    0U,	// LDUMAXLW
7746    0U,	// LDUMAXLX
7747    0U,	// LDUMAXW
7748    0U,	// LDUMAXX
7749    0U,	// LDUMINAB
7750    0U,	// LDUMINAH
7751    0U,	// LDUMINALB
7752    0U,	// LDUMINALH
7753    0U,	// LDUMINALW
7754    0U,	// LDUMINALX
7755    0U,	// LDUMINAW
7756    0U,	// LDUMINAX
7757    0U,	// LDUMINB
7758    0U,	// LDUMINH
7759    0U,	// LDUMINLB
7760    0U,	// LDUMINLH
7761    0U,	// LDUMINLW
7762    0U,	// LDUMINLX
7763    0U,	// LDUMINW
7764    0U,	// LDUMINX
7765    114949U,	// LDURBBi
7766    114949U,	// LDURBi
7767    114949U,	// LDURDi
7768    114949U,	// LDURHHi
7769    114949U,	// LDURHi
7770    114949U,	// LDURQi
7771    114949U,	// LDURSBWi
7772    114949U,	// LDURSBXi
7773    114949U,	// LDURSHWi
7774    114949U,	// LDURSHXi
7775    114949U,	// LDURSWi
7776    114949U,	// LDURSi
7777    114949U,	// LDURWi
7778    114949U,	// LDURXi
7779    114955U,	// LDXPW
7780    114955U,	// LDXPX
7781    27U,	// LDXRB
7782    27U,	// LDXRH
7783    27U,	// LDXRW
7784    27U,	// LDXRX
7785    0U,	// LOADgot
7786    74560U,	// LSLR_ZPmZ_B
7787    598912U,	// LSLR_ZPmZ_D
7788    1131465U,	// LSLR_ZPmZ_H
7789    1647616U,	// LSLR_ZPmZ_S
7790    261U,	// LSLVWr
7791    261U,	// LSLVXr
7792    598848U,	// LSL_WIDE_ZPmZ_B
7793    99273U,	// LSL_WIDE_ZPmZ_H
7794    599040U,	// LSL_WIDE_ZPmZ_S
7795    901U,	// LSL_WIDE_ZZZ_B
7796    10U,	// LSL_WIDE_ZZZ_H
7797    901U,	// LSL_WIDE_ZZZ_S
7798    2171712U,	// LSL_ZPmI_B
7799    2171776U,	// LSL_ZPmI_D
7800    91081U,	// LSL_ZPmI_H
7801    2171904U,	// LSL_ZPmI_S
7802    74560U,	// LSL_ZPmZ_B
7803    598912U,	// LSL_ZPmZ_D
7804    1131465U,	// LSL_ZPmZ_H
7805    1647616U,	// LSL_ZPmZ_S
7806    261U,	// LSL_ZZI_B
7807    261U,	// LSL_ZZI_D
7808    11U,	// LSL_ZZI_H
7809    261U,	// LSL_ZZI_S
7810    74560U,	// LSRR_ZPmZ_B
7811    598912U,	// LSRR_ZPmZ_D
7812    1131465U,	// LSRR_ZPmZ_H
7813    1647616U,	// LSRR_ZPmZ_S
7814    261U,	// LSRVWr
7815    261U,	// LSRVXr
7816    598848U,	// LSR_WIDE_ZPmZ_B
7817    99273U,	// LSR_WIDE_ZPmZ_H
7818    599040U,	// LSR_WIDE_ZPmZ_S
7819    901U,	// LSR_WIDE_ZZZ_B
7820    10U,	// LSR_WIDE_ZZZ_H
7821    901U,	// LSR_WIDE_ZZZ_S
7822    2171712U,	// LSR_ZPmI_B
7823    2171776U,	// LSR_ZPmI_D
7824    91081U,	// LSR_ZPmI_H
7825    2171904U,	// LSR_ZPmI_S
7826    74560U,	// LSR_ZPmZ_B
7827    598912U,	// LSR_ZPmZ_D
7828    1131465U,	// LSR_ZPmZ_H
7829    1647616U,	// LSR_ZPmZ_S
7830    261U,	// LSR_ZZI_B
7831    261U,	// LSR_ZZI_D
7832    11U,	// LSR_ZZI_H
7833    261U,	// LSR_ZZI_S
7834    2171141U,	// MADDWrrr
7835    2171141U,	// MADDXrrr
7836    19472384U,	// MAD_ZPmZZ_B
7837    6889536U,	// MAD_ZPmZZ_D
7838    1246144U,	// MAD_ZPmZZ_H
7839    7413952U,	// MAD_ZPmZZ_S
7840    19472384U,	// MLA_ZPmZZ_B
7841    6889536U,	// MLA_ZPmZZ_D
7842    1246144U,	// MLA_ZPmZZ_H
7843    7413952U,	// MLA_ZPmZZ_S
7844    33159U,	// MLAv16i8
7845    41351U,	// MLAv2i32
7846    9126279U,	// MLAv2i32_indexed
7847    49544U,	// MLAv4i16
7848    9118088U,	// MLAv4i16_indexed
7849    16774U,	// MLAv4i32
7850    9126278U,	// MLAv4i32_indexed
7851    24966U,	// MLAv8i16
7852    9118086U,	// MLAv8i16_indexed
7853    57736U,	// MLAv8i8
7854    19472384U,	// MLS_ZPmZZ_B
7855    6889536U,	// MLS_ZPmZZ_D
7856    1246144U,	// MLS_ZPmZZ_H
7857    7413952U,	// MLS_ZPmZZ_S
7858    33159U,	// MLSv16i8
7859    41351U,	// MLSv2i32
7860    9126279U,	// MLSv2i32_indexed
7861    49544U,	// MLSv4i16
7862    9118088U,	// MLSv4i16_indexed
7863    16774U,	// MLSv4i32
7864    9126278U,	// MLSv4i32_indexed
7865    24966U,	// MLSv8i16
7866    9118086U,	// MLSv8i16_indexed
7867    57736U,	// MLSv8i8
7868    0U,	// MOVID
7869    1U,	// MOVIv16b_ns
7870    0U,	// MOVIv2d_ns
7871    28U,	// MOVIv2i32
7872    28U,	// MOVIv2s_msl
7873    28U,	// MOVIv4i16
7874    28U,	// MOVIv4i32
7875    28U,	// MOVIv4s_msl
7876    1U,	// MOVIv8b_ns
7877    28U,	// MOVIv8i16
7878    0U,	// MOVKWi
7879    0U,	// MOVKXi
7880    28U,	// MOVNWi
7881    28U,	// MOVNXi
7882    0U,	// MOVPRFX_ZPmZ_B
7883    64U,	// MOVPRFX_ZPmZ_D
7884    128U,	// MOVPRFX_ZPmZ_H
7885    192U,	// MOVPRFX_ZPmZ_S
7886    842U,	// MOVPRFX_ZPzZ_B
7887    906U,	// MOVPRFX_ZPzZ_D
7888    137U,	// MOVPRFX_ZPzZ_H
7889    1034U,	// MOVPRFX_ZPzZ_S
7890    1U,	// MOVPRFX_ZZ
7891    28U,	// MOVZWi
7892    28U,	// MOVZXi
7893    0U,	// MOVaddr
7894    0U,	// MOVaddrBA
7895    0U,	// MOVaddrCP
7896    0U,	// MOVaddrEXT
7897    0U,	// MOVaddrJT
7898    0U,	// MOVaddrTLS
7899    0U,	// MOVbaseTLS
7900    0U,	// MOVi32imm
7901    0U,	// MOVi64imm
7902    0U,	// MRS
7903    19472384U,	// MSB_ZPmZZ_B
7904    6889536U,	// MSB_ZPmZZ_D
7905    1246144U,	// MSB_ZPmZZ_H
7906    7413952U,	// MSB_ZPmZZ_S
7907    0U,	// MSR
7908    0U,	// MSRpstateImm1
7909    0U,	// MSRpstateImm4
7910    2171141U,	// MSUBWrrr
7911    2171141U,	// MSUBXrrr
7912    261U,	// MUL_ZI_B
7913    261U,	// MUL_ZI_D
7914    11U,	// MUL_ZI_H
7915    261U,	// MUL_ZI_S
7916    74560U,	// MUL_ZPmZ_B
7917    598912U,	// MUL_ZPmZ_D
7918    1131465U,	// MUL_ZPmZ_H
7919    1647616U,	// MUL_ZPmZ_S
7920    33095U,	// MULv16i8
7921    41287U,	// MULv2i32
7922    10174791U,	// MULv2i32_indexed
7923    49480U,	// MULv4i16
7924    10166600U,	// MULv4i16_indexed
7925    16710U,	// MULv4i32
7926    10174790U,	// MULv4i32_indexed
7927    24902U,	// MULv8i16
7928    10166598U,	// MULv8i16_indexed
7929    57672U,	// MULv8i8
7930    28U,	// MVNIv2i32
7931    28U,	// MVNIv2s_msl
7932    28U,	// MVNIv4i16
7933    28U,	// MVNIv4i32
7934    28U,	// MVNIv4s_msl
7935    28U,	// MVNIv8i16
7936    74570U,	// NANDS_PPzPP
7937    74570U,	// NAND_PPzPP
7938    0U,	// NEG_ZPmZ_B
7939    64U,	// NEG_ZPmZ_D
7940    128U,	// NEG_ZPmZ_H
7941    192U,	// NEG_ZPmZ_S
7942    1U,	// NEGv16i8
7943    1U,	// NEGv1i64
7944    2U,	// NEGv2i32
7945    2U,	// NEGv2i64
7946    3U,	// NEGv4i16
7947    3U,	// NEGv4i32
7948    4U,	// NEGv8i16
7949    4U,	// NEGv8i8
7950    74570U,	// NORS_PPzPP
7951    74570U,	// NOR_PPzPP
7952    0U,	// NOT_ZPmZ_B
7953    64U,	// NOT_ZPmZ_D
7954    128U,	// NOT_ZPmZ_H
7955    192U,	// NOT_ZPmZ_S
7956    1U,	// NOTv16i8
7957    4U,	// NOTv8i8
7958    74570U,	// ORNS_PPzPP
7959    0U,	// ORNWrr
7960    517U,	// ORNWrs
7961    0U,	// ORNXrr
7962    517U,	// ORNXrs
7963    74570U,	// ORN_PPzPP
7964    33095U,	// ORNv16i8
7965    57672U,	// ORNv8i8
7966    74570U,	// ORRS_PPzPP
7967    2117U,	// ORRWri
7968    0U,	// ORRWrr
7969    517U,	// ORRWrs
7970    2181U,	// ORRXri
7971    0U,	// ORRXrr
7972    517U,	// ORRXrs
7973    74570U,	// ORR_PPzPP
7974    2181U,	// ORR_ZI
7975    74560U,	// ORR_ZPmZ_B
7976    598912U,	// ORR_ZPmZ_D
7977    1131465U,	// ORR_ZPmZ_H
7978    1647616U,	// ORR_ZPmZ_S
7979    901U,	// ORR_ZZZ
7980    33095U,	// ORRv16i8
7981    0U,	// ORRv2i32
7982    0U,	// ORRv4i16
7983    0U,	// ORRv4i32
7984    0U,	// ORRv8i16
7985    57672U,	// ORRv8i8
7986    837U,	// ORV_VPZ_B
7987    901U,	// ORV_VPZ_D
7988    2245U,	// ORV_VPZ_H
7989    1029U,	// ORV_VPZ_S
7990    1U,	// PACDA
7991    1U,	// PACDB
7992    0U,	// PACDZA
7993    0U,	// PACDZB
7994    261U,	// PACGA
7995    1U,	// PACIA
7996    0U,	// PACIA1716
7997    0U,	// PACIASP
7998    0U,	// PACIAZ
7999    1U,	// PACIB
8000    0U,	// PACIB1716
8001    0U,	// PACIBSP
8002    0U,	// PACIBZ
8003    0U,	// PACIZA
8004    0U,	// PACIZB
8005    0U,	// PFALSE
8006    33095U,	// PMULLv16i8
8007    0U,	// PMULLv1i64
8008    0U,	// PMULLv2i64
8009    57672U,	// PMULLv8i8
8010    33095U,	// PMULv16i8
8011    57672U,	// PMULv8i8
8012    837U,	// PNEXT_B
8013    901U,	// PNEXT_D
8014    137U,	// PNEXT_H
8015    1029U,	// PNEXT_S
8016    27U,	// PRFB_D_PZI
8017    29U,	// PRFB_D_SCALED
8018    29U,	// PRFB_D_SXTW_SCALED
8019    30U,	// PRFB_D_UXTW_SCALED
8020    5329U,	// PRFB_PRI
8021    30U,	// PRFB_PRR
8022    27U,	// PRFB_S_PZI
8023    31U,	// PRFB_S_SXTW_SCALED
8024    31U,	// PRFB_S_UXTW_SCALED
8025    0U,	// PRFD_D_PZI
8026    32U,	// PRFD_D_SCALED
8027    32U,	// PRFD_D_SXTW_SCALED
8028    33U,	// PRFD_D_UXTW_SCALED
8029    5329U,	// PRFD_PRI
8030    33U,	// PRFD_PRR
8031    0U,	// PRFD_S_PZI
8032    34U,	// PRFD_S_SXTW_SCALED
8033    34U,	// PRFD_S_UXTW_SCALED
8034    0U,	// PRFH_D_PZI
8035    35U,	// PRFH_D_SCALED
8036    35U,	// PRFH_D_SXTW_SCALED
8037    36U,	// PRFH_D_UXTW_SCALED
8038    5329U,	// PRFH_PRI
8039    36U,	// PRFH_PRR
8040    0U,	// PRFH_S_PZI
8041    37U,	// PRFH_S_SXTW_SCALED
8042    37U,	// PRFH_S_UXTW_SCALED
8043    0U,	// PRFMl
8044    15278341U,	// PRFMroW
8045    15802629U,	// PRFMroX
8046    5061U,	// PRFMui
8047    38U,	// PRFS_PRR
8048    114949U,	// PRFUMi
8049    0U,	// PRFW_D_PZI
8050    38U,	// PRFW_D_SCALED
8051    39U,	// PRFW_D_SXTW_SCALED
8052    39U,	// PRFW_D_UXTW_SCALED
8053    5329U,	// PRFW_PRI
8054    0U,	// PRFW_S_PZI
8055    40U,	// PRFW_S_SXTW_SCALED
8056    40U,	// PRFW_S_UXTW_SCALED
8057    1U,	// PTEST_PP
8058    1U,	// PTRUES_B
8059    1U,	// PTRUES_D
8060    0U,	// PTRUES_H
8061    1U,	// PTRUES_S
8062    1U,	// PTRUE_B
8063    1U,	// PTRUE_D
8064    0U,	// PTRUE_H
8065    1U,	// PTRUE_S
8066    0U,	// PUNPKHI_PP
8067    0U,	// PUNPKLO_PP
8068    8517U,	// RADDHNv2i64_v2i32
8069    8581U,	// RADDHNv2i64_v4i32
8070    16710U,	// RADDHNv4i32_v4i16
8071    16774U,	// RADDHNv4i32_v8i16
8072    24966U,	// RADDHNv8i16_v16i8
8073    24902U,	// RADDHNv8i16_v8i8
8074    8517U,	// RAX1
8075    1U,	// RBITWr
8076    1U,	// RBITXr
8077    0U,	// RBIT_ZPmZ_B
8078    64U,	// RBIT_ZPmZ_D
8079    128U,	// RBIT_ZPmZ_H
8080    192U,	// RBIT_ZPmZ_S
8081    1U,	// RBITv16i8
8082    4U,	// RBITv8i8
8083    41U,	// RDFFRS_PPz
8084    0U,	// RDFFR_P
8085    41U,	// RDFFR_PPz
8086    1U,	// RDVLI_XI
8087    0U,	// RET
8088    0U,	// RETAA
8089    0U,	// RETAB
8090    0U,	// RET_ReallyLR
8091    1U,	// REV16Wr
8092    1U,	// REV16Xr
8093    1U,	// REV16v16i8
8094    4U,	// REV16v8i8
8095    1U,	// REV32Xr
8096    1U,	// REV32v16i8
8097    3U,	// REV32v4i16
8098    4U,	// REV32v8i16
8099    4U,	// REV32v8i8
8100    1U,	// REV64v16i8
8101    2U,	// REV64v2i32
8102    3U,	// REV64v4i16
8103    3U,	// REV64v4i32
8104    4U,	// REV64v8i16
8105    4U,	// REV64v8i8
8106    64U,	// REVB_ZPmZ_D
8107    128U,	// REVB_ZPmZ_H
8108    192U,	// REVB_ZPmZ_S
8109    64U,	// REVH_ZPmZ_D
8110    192U,	// REVH_ZPmZ_S
8111    64U,	// REVW_ZPmZ_D
8112    1U,	// REVWr
8113    1U,	// REVXr
8114    1U,	// REV_PP_B
8115    1U,	// REV_PP_D
8116    0U,	// REV_PP_H
8117    1U,	// REV_PP_S
8118    1U,	// REV_ZZ_B
8119    1U,	// REV_ZZ_D
8120    0U,	// REV_ZZ_H
8121    1U,	// REV_ZZ_S
8122    261U,	// RMIF
8123    261U,	// RORVWr
8124    261U,	// RORVXr
8125    2310U,	// RSHRNv16i8_shift
8126    261U,	// RSHRNv2i32_shift
8127    262U,	// RSHRNv4i16_shift
8128    2309U,	// RSHRNv4i32_shift
8129    2310U,	// RSHRNv8i16_shift
8130    262U,	// RSHRNv8i8_shift
8131    8517U,	// RSUBHNv2i64_v2i32
8132    8581U,	// RSUBHNv2i64_v4i32
8133    16710U,	// RSUBHNv4i32_v4i16
8134    16774U,	// RSUBHNv4i32_v8i16
8135    24966U,	// RSUBHNv8i16_v16i8
8136    24902U,	// RSUBHNv8i16_v8i8
8137    33159U,	// SABALv16i8_v8i16
8138    41351U,	// SABALv2i32_v2i64
8139    49544U,	// SABALv4i16_v4i32
8140    16774U,	// SABALv4i32_v2i64
8141    24966U,	// SABALv8i16_v4i32
8142    57736U,	// SABALv8i8_v8i16
8143    33159U,	// SABAv16i8
8144    41351U,	// SABAv2i32
8145    49544U,	// SABAv4i16
8146    16774U,	// SABAv4i32
8147    24966U,	// SABAv8i16
8148    57736U,	// SABAv8i8
8149    33095U,	// SABDLv16i8_v8i16
8150    41287U,	// SABDLv2i32_v2i64
8151    49480U,	// SABDLv4i16_v4i32
8152    16710U,	// SABDLv4i32_v2i64
8153    24902U,	// SABDLv8i16_v4i32
8154    57672U,	// SABDLv8i8_v8i16
8155    74560U,	// SABD_ZPmZ_B
8156    598912U,	// SABD_ZPmZ_D
8157    1131465U,	// SABD_ZPmZ_H
8158    1647616U,	// SABD_ZPmZ_S
8159    33095U,	// SABDv16i8
8160    41287U,	// SABDv2i32
8161    49480U,	// SABDv4i16
8162    16710U,	// SABDv4i32
8163    24902U,	// SABDv8i16
8164    57672U,	// SABDv8i8
8165    1U,	// SADALPv16i8_v8i16
8166    2U,	// SADALPv2i32_v1i64
8167    3U,	// SADALPv4i16_v2i32
8168    3U,	// SADALPv4i32_v2i64
8169    4U,	// SADALPv8i16_v4i32
8170    4U,	// SADALPv8i8_v4i16
8171    1U,	// SADDLPv16i8_v8i16
8172    2U,	// SADDLPv2i32_v1i64
8173    3U,	// SADDLPv4i16_v2i32
8174    3U,	// SADDLPv4i32_v2i64
8175    4U,	// SADDLPv8i16_v4i32
8176    4U,	// SADDLPv8i8_v4i16
8177    1U,	// SADDLVv16i8v
8178    3U,	// SADDLVv4i16v
8179    3U,	// SADDLVv4i32v
8180    4U,	// SADDLVv8i16v
8181    4U,	// SADDLVv8i8v
8182    33095U,	// SADDLv16i8_v8i16
8183    41287U,	// SADDLv2i32_v2i64
8184    49480U,	// SADDLv4i16_v4i32
8185    16710U,	// SADDLv4i32_v2i64
8186    24902U,	// SADDLv8i16_v4i32
8187    57672U,	// SADDLv8i8_v8i16
8188    837U,	// SADDV_VPZ_B
8189    2245U,	// SADDV_VPZ_H
8190    1029U,	// SADDV_VPZ_S
8191    33094U,	// SADDWv16i8_v8i16
8192    41285U,	// SADDWv2i32_v2i64
8193    49478U,	// SADDWv4i16_v4i32
8194    16709U,	// SADDWv4i32_v2i64
8195    24902U,	// SADDWv8i16_v4i32
8196    57670U,	// SADDWv8i8_v8i16
8197    261U,	// SBCSWr
8198    261U,	// SBCSXr
8199    261U,	// SBCWr
8200    261U,	// SBCXr
8201    2171141U,	// SBFMWri
8202    2171141U,	// SBFMXri
8203    261U,	// SCVTFSWDri
8204    261U,	// SCVTFSWHri
8205    261U,	// SCVTFSWSri
8206    261U,	// SCVTFSXDri
8207    261U,	// SCVTFSXHri
8208    261U,	// SCVTFSXSri
8209    1U,	// SCVTFUWDri
8210    1U,	// SCVTFUWHri
8211    1U,	// SCVTFUWSri
8212    1U,	// SCVTFUXDri
8213    1U,	// SCVTFUXHri
8214    1U,	// SCVTFUXSri
8215    64U,	// SCVTF_ZPmZ_DtoD
8216    153U,	// SCVTF_ZPmZ_DtoH
8217    64U,	// SCVTF_ZPmZ_DtoS
8218    128U,	// SCVTF_ZPmZ_HtoH
8219    192U,	// SCVTF_ZPmZ_StoD
8220    152U,	// SCVTF_ZPmZ_StoH
8221    192U,	// SCVTF_ZPmZ_StoS
8222    261U,	// SCVTFd
8223    261U,	// SCVTFh
8224    261U,	// SCVTFs
8225    1U,	// SCVTFv1i16
8226    1U,	// SCVTFv1i32
8227    1U,	// SCVTFv1i64
8228    2U,	// SCVTFv2f32
8229    2U,	// SCVTFv2f64
8230    263U,	// SCVTFv2i32_shift
8231    261U,	// SCVTFv2i64_shift
8232    3U,	// SCVTFv4f16
8233    3U,	// SCVTFv4f32
8234    264U,	// SCVTFv4i16_shift
8235    262U,	// SCVTFv4i32_shift
8236    4U,	// SCVTFv8f16
8237    262U,	// SCVTFv8i16_shift
8238    598912U,	// SDIVR_ZPmZ_D
8239    1647616U,	// SDIVR_ZPmZ_S
8240    261U,	// SDIVWr
8241    261U,	// SDIVXr
8242    598912U,	// SDIV_ZPmZ_D
8243    1647616U,	// SDIV_ZPmZ_S
8244    41U,	// SDOT_ZZZI_D
8245    41U,	// SDOT_ZZZI_S
8246    1U,	// SDOT_ZZZ_D
8247    1U,	// SDOT_ZZZ_S
8248    278919U,	// SDOTlanev16i8
8249    278920U,	// SDOTlanev8i8
8250    33159U,	// SDOTv16i8
8251    57736U,	// SDOTv8i8
8252    74565U,	// SEL_PPPP
8253    74565U,	// SEL_ZPZZ_B
8254    598917U,	// SEL_ZPZZ_D
8255    1131465U,	// SEL_ZPZZ_H
8256    1647621U,	// SEL_ZPZZ_S
8257    0U,	// SETF16
8258    0U,	// SETF8
8259    0U,	// SETFFR
8260    16773U,	// SHA1Crrr
8261    1U,	// SHA1Hrr
8262    16773U,	// SHA1Mrrr
8263    16773U,	// SHA1Prrr
8264    16774U,	// SHA1SU0rrr
8265    3U,	// SHA1SU1rr
8266    16773U,	// SHA256H2rrr
8267    16773U,	// SHA256Hrrr
8268    3U,	// SHA256SU0rr
8269    16774U,	// SHA256SU1rrr
8270    8581U,	// SHA512H
8271    8581U,	// SHA512H2
8272    2U,	// SHA512SU0
8273    8581U,	// SHA512SU1
8274    33095U,	// SHADDv16i8
8275    41287U,	// SHADDv2i32
8276    49480U,	// SHADDv4i16
8277    16710U,	// SHADDv4i32
8278    24902U,	// SHADDv8i16
8279    57672U,	// SHADDv8i8
8280    42U,	// SHLLv16i8
8281    42U,	// SHLLv2i32
8282    43U,	// SHLLv4i16
8283    43U,	// SHLLv4i32
8284    44U,	// SHLLv8i16
8285    44U,	// SHLLv8i8
8286    261U,	// SHLd
8287    263U,	// SHLv16i8_shift
8288    263U,	// SHLv2i32_shift
8289    261U,	// SHLv2i64_shift
8290    264U,	// SHLv4i16_shift
8291    262U,	// SHLv4i32_shift
8292    262U,	// SHLv8i16_shift
8293    264U,	// SHLv8i8_shift
8294    2310U,	// SHRNv16i8_shift
8295    261U,	// SHRNv2i32_shift
8296    262U,	// SHRNv4i16_shift
8297    2309U,	// SHRNv4i32_shift
8298    2310U,	// SHRNv8i16_shift
8299    262U,	// SHRNv8i8_shift
8300    33095U,	// SHSUBv16i8
8301    41287U,	// SHSUBv2i32
8302    49480U,	// SHSUBv4i16
8303    16710U,	// SHSUBv4i32
8304    24902U,	// SHSUBv8i16
8305    57672U,	// SHSUBv8i8
8306    2309U,	// SLId
8307    2311U,	// SLIv16i8_shift
8308    2311U,	// SLIv2i32_shift
8309    2309U,	// SLIv2i64_shift
8310    2312U,	// SLIv4i16_shift
8311    2310U,	// SLIv4i32_shift
8312    2310U,	// SLIv8i16_shift
8313    2312U,	// SLIv8i8_shift
8314    16774U,	// SM3PARTW1
8315    16774U,	// SM3PARTW2
8316    204120390U,	// SM3SS1
8317    9126278U,	// SM3TT1A
8318    9126278U,	// SM3TT1B
8319    9126278U,	// SM3TT2A
8320    9126278U,	// SM3TT2B
8321    3U,	// SM4E
8322    16710U,	// SM4ENCKEY
8323    2171141U,	// SMADDLrrr
8324    33095U,	// SMAXPv16i8
8325    41287U,	// SMAXPv2i32
8326    49480U,	// SMAXPv4i16
8327    16710U,	// SMAXPv4i32
8328    24902U,	// SMAXPv8i16
8329    57672U,	// SMAXPv8i8
8330    837U,	// SMAXV_VPZ_B
8331    901U,	// SMAXV_VPZ_D
8332    2245U,	// SMAXV_VPZ_H
8333    1029U,	// SMAXV_VPZ_S
8334    1U,	// SMAXVv16i8v
8335    3U,	// SMAXVv4i16v
8336    3U,	// SMAXVv4i32v
8337    4U,	// SMAXVv8i16v
8338    4U,	// SMAXVv8i8v
8339    261U,	// SMAX_ZI_B
8340    261U,	// SMAX_ZI_D
8341    11U,	// SMAX_ZI_H
8342    261U,	// SMAX_ZI_S
8343    74560U,	// SMAX_ZPmZ_B
8344    598912U,	// SMAX_ZPmZ_D
8345    1131465U,	// SMAX_ZPmZ_H
8346    1647616U,	// SMAX_ZPmZ_S
8347    33095U,	// SMAXv16i8
8348    41287U,	// SMAXv2i32
8349    49480U,	// SMAXv4i16
8350    16710U,	// SMAXv4i32
8351    24902U,	// SMAXv8i16
8352    57672U,	// SMAXv8i8
8353    0U,	// SMC
8354    33095U,	// SMINPv16i8
8355    41287U,	// SMINPv2i32
8356    49480U,	// SMINPv4i16
8357    16710U,	// SMINPv4i32
8358    24902U,	// SMINPv8i16
8359    57672U,	// SMINPv8i8
8360    837U,	// SMINV_VPZ_B
8361    901U,	// SMINV_VPZ_D
8362    2245U,	// SMINV_VPZ_H
8363    1029U,	// SMINV_VPZ_S
8364    1U,	// SMINVv16i8v
8365    3U,	// SMINVv4i16v
8366    3U,	// SMINVv4i32v
8367    4U,	// SMINVv8i16v
8368    4U,	// SMINVv8i8v
8369    261U,	// SMIN_ZI_B
8370    261U,	// SMIN_ZI_D
8371    11U,	// SMIN_ZI_H
8372    261U,	// SMIN_ZI_S
8373    74560U,	// SMIN_ZPmZ_B
8374    598912U,	// SMIN_ZPmZ_D
8375    1131465U,	// SMIN_ZPmZ_H
8376    1647616U,	// SMIN_ZPmZ_S
8377    33095U,	// SMINv16i8
8378    41287U,	// SMINv2i32
8379    49480U,	// SMINv4i16
8380    16710U,	// SMINv4i32
8381    24902U,	// SMINv8i16
8382    57672U,	// SMINv8i8
8383    33159U,	// SMLALv16i8_v8i16
8384    9126279U,	// SMLALv2i32_indexed
8385    41351U,	// SMLALv2i32_v2i64
8386    9118088U,	// SMLALv4i16_indexed
8387    49544U,	// SMLALv4i16_v4i32
8388    9126278U,	// SMLALv4i32_indexed
8389    16774U,	// SMLALv4i32_v2i64
8390    9118086U,	// SMLALv8i16_indexed
8391    24966U,	// SMLALv8i16_v4i32
8392    57736U,	// SMLALv8i8_v8i16
8393    33159U,	// SMLSLv16i8_v8i16
8394    9126279U,	// SMLSLv2i32_indexed
8395    41351U,	// SMLSLv2i32_v2i64
8396    9118088U,	// SMLSLv4i16_indexed
8397    49544U,	// SMLSLv4i16_v4i32
8398    9126278U,	// SMLSLv4i32_indexed
8399    16774U,	// SMLSLv4i32_v2i64
8400    9118086U,	// SMLSLv8i16_indexed
8401    24966U,	// SMLSLv8i16_v4i32
8402    57736U,	// SMLSLv8i8_v8i16
8403    2770U,	// SMOVvi16to32
8404    2770U,	// SMOVvi16to64
8405    2770U,	// SMOVvi32to64
8406    2771U,	// SMOVvi8to32
8407    2771U,	// SMOVvi8to64
8408    2171141U,	// SMSUBLrrr
8409    74560U,	// SMULH_ZPmZ_B
8410    598912U,	// SMULH_ZPmZ_D
8411    1131465U,	// SMULH_ZPmZ_H
8412    1647616U,	// SMULH_ZPmZ_S
8413    261U,	// SMULHrr
8414    33095U,	// SMULLv16i8_v8i16
8415    10174791U,	// SMULLv2i32_indexed
8416    41287U,	// SMULLv2i32_v2i64
8417    10166600U,	// SMULLv4i16_indexed
8418    49480U,	// SMULLv4i16_v4i32
8419    10174790U,	// SMULLv4i32_indexed
8420    16710U,	// SMULLv4i32_v2i64
8421    10166598U,	// SMULLv8i16_indexed
8422    24902U,	// SMULLv8i16_v4i32
8423    57672U,	// SMULLv8i8_v8i16
8424    74565U,	// SPLICE_ZPZ_B
8425    598917U,	// SPLICE_ZPZ_D
8426    1131465U,	// SPLICE_ZPZ_H
8427    1647621U,	// SPLICE_ZPZ_S
8428    1U,	// SQABSv16i8
8429    1U,	// SQABSv1i16
8430    1U,	// SQABSv1i32
8431    1U,	// SQABSv1i64
8432    1U,	// SQABSv1i8
8433    2U,	// SQABSv2i32
8434    2U,	// SQABSv2i64
8435    3U,	// SQABSv4i16
8436    3U,	// SQABSv4i32
8437    4U,	// SQABSv8i16
8438    4U,	// SQABSv8i8
8439    645U,	// SQADD_ZI_B
8440    709U,	// SQADD_ZI_D
8441    9U,	// SQADD_ZI_H
8442    773U,	// SQADD_ZI_S
8443    837U,	// SQADD_ZZZ_B
8444    901U,	// SQADD_ZZZ_D
8445    137U,	// SQADD_ZZZ_H
8446    1029U,	// SQADD_ZZZ_S
8447    33095U,	// SQADDv16i8
8448    261U,	// SQADDv1i16
8449    261U,	// SQADDv1i32
8450    261U,	// SQADDv1i64
8451    261U,	// SQADDv1i8
8452    41287U,	// SQADDv2i32
8453    8517U,	// SQADDv2i64
8454    49480U,	// SQADDv4i16
8455    16710U,	// SQADDv4i32
8456    24902U,	// SQADDv8i16
8457    57672U,	// SQADDv8i8
8458    0U,	// SQDECB_XPiI
8459    0U,	// SQDECB_XPiWdI
8460    0U,	// SQDECD_XPiI
8461    0U,	// SQDECD_XPiWdI
8462    0U,	// SQDECD_ZPiI
8463    0U,	// SQDECH_XPiI
8464    0U,	// SQDECH_XPiWdI
8465    0U,	// SQDECH_ZPiI
8466    5381U,	// SQDECP_XPWd_B
8467    5381U,	// SQDECP_XPWd_D
8468    5381U,	// SQDECP_XPWd_H
8469    5381U,	// SQDECP_XPWd_S
8470    1U,	// SQDECP_XP_B
8471    1U,	// SQDECP_XP_D
8472    1U,	// SQDECP_XP_H
8473    1U,	// SQDECP_XP_S
8474    1U,	// SQDECP_ZP_D
8475    0U,	// SQDECP_ZP_H
8476    1U,	// SQDECP_ZP_S
8477    0U,	// SQDECW_XPiI
8478    0U,	// SQDECW_XPiWdI
8479    0U,	// SQDECW_ZPiI
8480    2309U,	// SQDMLALi16
8481    2309U,	// SQDMLALi32
8482    9118085U,	// SQDMLALv1i32_indexed
8483    9126277U,	// SQDMLALv1i64_indexed
8484    9126279U,	// SQDMLALv2i32_indexed
8485    41351U,	// SQDMLALv2i32_v2i64
8486    9118088U,	// SQDMLALv4i16_indexed
8487    49544U,	// SQDMLALv4i16_v4i32
8488    9126278U,	// SQDMLALv4i32_indexed
8489    16774U,	// SQDMLALv4i32_v2i64
8490    9118086U,	// SQDMLALv8i16_indexed
8491    24966U,	// SQDMLALv8i16_v4i32
8492    2309U,	// SQDMLSLi16
8493    2309U,	// SQDMLSLi32
8494    9118085U,	// SQDMLSLv1i32_indexed
8495    9126277U,	// SQDMLSLv1i64_indexed
8496    9126279U,	// SQDMLSLv2i32_indexed
8497    41351U,	// SQDMLSLv2i32_v2i64
8498    9118088U,	// SQDMLSLv4i16_indexed
8499    49544U,	// SQDMLSLv4i16_v4i32
8500    9126278U,	// SQDMLSLv4i32_indexed
8501    16774U,	// SQDMLSLv4i32_v2i64
8502    9118086U,	// SQDMLSLv8i16_indexed
8503    24966U,	// SQDMLSLv8i16_v4i32
8504    261U,	// SQDMULHv1i16
8505    10166597U,	// SQDMULHv1i16_indexed
8506    261U,	// SQDMULHv1i32
8507    10174789U,	// SQDMULHv1i32_indexed
8508    41287U,	// SQDMULHv2i32
8509    10174791U,	// SQDMULHv2i32_indexed
8510    49480U,	// SQDMULHv4i16
8511    10166600U,	// SQDMULHv4i16_indexed
8512    16710U,	// SQDMULHv4i32
8513    10174790U,	// SQDMULHv4i32_indexed
8514    24902U,	// SQDMULHv8i16
8515    10166598U,	// SQDMULHv8i16_indexed
8516    261U,	// SQDMULLi16
8517    261U,	// SQDMULLi32
8518    10166597U,	// SQDMULLv1i32_indexed
8519    10174789U,	// SQDMULLv1i64_indexed
8520    10174791U,	// SQDMULLv2i32_indexed
8521    41287U,	// SQDMULLv2i32_v2i64
8522    10166600U,	// SQDMULLv4i16_indexed
8523    49480U,	// SQDMULLv4i16_v4i32
8524    10174790U,	// SQDMULLv4i32_indexed
8525    16710U,	// SQDMULLv4i32_v2i64
8526    10166598U,	// SQDMULLv8i16_indexed
8527    24902U,	// SQDMULLv8i16_v4i32
8528    0U,	// SQINCB_XPiI
8529    0U,	// SQINCB_XPiWdI
8530    0U,	// SQINCD_XPiI
8531    0U,	// SQINCD_XPiWdI
8532    0U,	// SQINCD_ZPiI
8533    0U,	// SQINCH_XPiI
8534    0U,	// SQINCH_XPiWdI
8535    0U,	// SQINCH_ZPiI
8536    5381U,	// SQINCP_XPWd_B
8537    5381U,	// SQINCP_XPWd_D
8538    5381U,	// SQINCP_XPWd_H
8539    5381U,	// SQINCP_XPWd_S
8540    1U,	// SQINCP_XP_B
8541    1U,	// SQINCP_XP_D
8542    1U,	// SQINCP_XP_H
8543    1U,	// SQINCP_XP_S
8544    1U,	// SQINCP_ZP_D
8545    0U,	// SQINCP_ZP_H
8546    1U,	// SQINCP_ZP_S
8547    0U,	// SQINCW_XPiI
8548    0U,	// SQINCW_XPiWdI
8549    0U,	// SQINCW_ZPiI
8550    1U,	// SQNEGv16i8
8551    1U,	// SQNEGv1i16
8552    1U,	// SQNEGv1i32
8553    1U,	// SQNEGv1i64
8554    1U,	// SQNEGv1i8
8555    2U,	// SQNEGv2i32
8556    2U,	// SQNEGv2i64
8557    3U,	// SQNEGv4i16
8558    3U,	// SQNEGv4i32
8559    4U,	// SQNEGv8i16
8560    4U,	// SQNEGv8i8
8561    9118085U,	// SQRDMLAHi16_indexed
8562    9126277U,	// SQRDMLAHi32_indexed
8563    2309U,	// SQRDMLAHv1i16
8564    2309U,	// SQRDMLAHv1i32
8565    41351U,	// SQRDMLAHv2i32
8566    9126279U,	// SQRDMLAHv2i32_indexed
8567    49544U,	// SQRDMLAHv4i16
8568    9118088U,	// SQRDMLAHv4i16_indexed
8569    16774U,	// SQRDMLAHv4i32
8570    9126278U,	// SQRDMLAHv4i32_indexed
8571    24966U,	// SQRDMLAHv8i16
8572    9118086U,	// SQRDMLAHv8i16_indexed
8573    9118085U,	// SQRDMLSHi16_indexed
8574    9126277U,	// SQRDMLSHi32_indexed
8575    2309U,	// SQRDMLSHv1i16
8576    2309U,	// SQRDMLSHv1i32
8577    41351U,	// SQRDMLSHv2i32
8578    9126279U,	// SQRDMLSHv2i32_indexed
8579    49544U,	// SQRDMLSHv4i16
8580    9118088U,	// SQRDMLSHv4i16_indexed
8581    16774U,	// SQRDMLSHv4i32
8582    9126278U,	// SQRDMLSHv4i32_indexed
8583    24966U,	// SQRDMLSHv8i16
8584    9118086U,	// SQRDMLSHv8i16_indexed
8585    261U,	// SQRDMULHv1i16
8586    10166597U,	// SQRDMULHv1i16_indexed
8587    261U,	// SQRDMULHv1i32
8588    10174789U,	// SQRDMULHv1i32_indexed
8589    41287U,	// SQRDMULHv2i32
8590    10174791U,	// SQRDMULHv2i32_indexed
8591    49480U,	// SQRDMULHv4i16
8592    10166600U,	// SQRDMULHv4i16_indexed
8593    16710U,	// SQRDMULHv4i32
8594    10174790U,	// SQRDMULHv4i32_indexed
8595    24902U,	// SQRDMULHv8i16
8596    10166598U,	// SQRDMULHv8i16_indexed
8597    33095U,	// SQRSHLv16i8
8598    261U,	// SQRSHLv1i16
8599    261U,	// SQRSHLv1i32
8600    261U,	// SQRSHLv1i64
8601    261U,	// SQRSHLv1i8
8602    41287U,	// SQRSHLv2i32
8603    8517U,	// SQRSHLv2i64
8604    49480U,	// SQRSHLv4i16
8605    16710U,	// SQRSHLv4i32
8606    24902U,	// SQRSHLv8i16
8607    57672U,	// SQRSHLv8i8
8608    261U,	// SQRSHRNb
8609    261U,	// SQRSHRNh
8610    261U,	// SQRSHRNs
8611    2310U,	// SQRSHRNv16i8_shift
8612    261U,	// SQRSHRNv2i32_shift
8613    262U,	// SQRSHRNv4i16_shift
8614    2309U,	// SQRSHRNv4i32_shift
8615    2310U,	// SQRSHRNv8i16_shift
8616    262U,	// SQRSHRNv8i8_shift
8617    261U,	// SQRSHRUNb
8618    261U,	// SQRSHRUNh
8619    261U,	// SQRSHRUNs
8620    2310U,	// SQRSHRUNv16i8_shift
8621    261U,	// SQRSHRUNv2i32_shift
8622    262U,	// SQRSHRUNv4i16_shift
8623    2309U,	// SQRSHRUNv4i32_shift
8624    2310U,	// SQRSHRUNv8i16_shift
8625    262U,	// SQRSHRUNv8i8_shift
8626    261U,	// SQSHLUb
8627    261U,	// SQSHLUd
8628    261U,	// SQSHLUh
8629    261U,	// SQSHLUs
8630    263U,	// SQSHLUv16i8_shift
8631    263U,	// SQSHLUv2i32_shift
8632    261U,	// SQSHLUv2i64_shift
8633    264U,	// SQSHLUv4i16_shift
8634    262U,	// SQSHLUv4i32_shift
8635    262U,	// SQSHLUv8i16_shift
8636    264U,	// SQSHLUv8i8_shift
8637    261U,	// SQSHLb
8638    261U,	// SQSHLd
8639    261U,	// SQSHLh
8640    261U,	// SQSHLs
8641    33095U,	// SQSHLv16i8
8642    263U,	// SQSHLv16i8_shift
8643    261U,	// SQSHLv1i16
8644    261U,	// SQSHLv1i32
8645    261U,	// SQSHLv1i64
8646    261U,	// SQSHLv1i8
8647    41287U,	// SQSHLv2i32
8648    263U,	// SQSHLv2i32_shift
8649    8517U,	// SQSHLv2i64
8650    261U,	// SQSHLv2i64_shift
8651    49480U,	// SQSHLv4i16
8652    264U,	// SQSHLv4i16_shift
8653    16710U,	// SQSHLv4i32
8654    262U,	// SQSHLv4i32_shift
8655    24902U,	// SQSHLv8i16
8656    262U,	// SQSHLv8i16_shift
8657    57672U,	// SQSHLv8i8
8658    264U,	// SQSHLv8i8_shift
8659    261U,	// SQSHRNb
8660    261U,	// SQSHRNh
8661    261U,	// SQSHRNs
8662    2310U,	// SQSHRNv16i8_shift
8663    261U,	// SQSHRNv2i32_shift
8664    262U,	// SQSHRNv4i16_shift
8665    2309U,	// SQSHRNv4i32_shift
8666    2310U,	// SQSHRNv8i16_shift
8667    262U,	// SQSHRNv8i8_shift
8668    261U,	// SQSHRUNb
8669    261U,	// SQSHRUNh
8670    261U,	// SQSHRUNs
8671    2310U,	// SQSHRUNv16i8_shift
8672    261U,	// SQSHRUNv2i32_shift
8673    262U,	// SQSHRUNv4i16_shift
8674    2309U,	// SQSHRUNv4i32_shift
8675    2310U,	// SQSHRUNv8i16_shift
8676    262U,	// SQSHRUNv8i8_shift
8677    645U,	// SQSUB_ZI_B
8678    709U,	// SQSUB_ZI_D
8679    9U,	// SQSUB_ZI_H
8680    773U,	// SQSUB_ZI_S
8681    837U,	// SQSUB_ZZZ_B
8682    901U,	// SQSUB_ZZZ_D
8683    137U,	// SQSUB_ZZZ_H
8684    1029U,	// SQSUB_ZZZ_S
8685    33095U,	// SQSUBv16i8
8686    261U,	// SQSUBv1i16
8687    261U,	// SQSUBv1i32
8688    261U,	// SQSUBv1i64
8689    261U,	// SQSUBv1i8
8690    41287U,	// SQSUBv2i32
8691    8517U,	// SQSUBv2i64
8692    49480U,	// SQSUBv4i16
8693    16710U,	// SQSUBv4i32
8694    24902U,	// SQSUBv8i16
8695    57672U,	// SQSUBv8i8
8696    4U,	// SQXTNv16i8
8697    1U,	// SQXTNv1i16
8698    1U,	// SQXTNv1i32
8699    1U,	// SQXTNv1i8
8700    2U,	// SQXTNv2i32
8701    3U,	// SQXTNv4i16
8702    2U,	// SQXTNv4i32
8703    3U,	// SQXTNv8i16
8704    4U,	// SQXTNv8i8
8705    4U,	// SQXTUNv16i8
8706    1U,	// SQXTUNv1i16
8707    1U,	// SQXTUNv1i32
8708    1U,	// SQXTUNv1i8
8709    2U,	// SQXTUNv2i32
8710    3U,	// SQXTUNv4i16
8711    2U,	// SQXTUNv4i32
8712    3U,	// SQXTUNv8i16
8713    4U,	// SQXTUNv8i8
8714    33095U,	// SRHADDv16i8
8715    41287U,	// SRHADDv2i32
8716    49480U,	// SRHADDv4i16
8717    16710U,	// SRHADDv4i32
8718    24902U,	// SRHADDv8i16
8719    57672U,	// SRHADDv8i8
8720    2309U,	// SRId
8721    2311U,	// SRIv16i8_shift
8722    2311U,	// SRIv2i32_shift
8723    2309U,	// SRIv2i64_shift
8724    2312U,	// SRIv4i16_shift
8725    2310U,	// SRIv4i32_shift
8726    2310U,	// SRIv8i16_shift
8727    2312U,	// SRIv8i8_shift
8728    33095U,	// SRSHLv16i8
8729    261U,	// SRSHLv1i64
8730    41287U,	// SRSHLv2i32
8731    8517U,	// SRSHLv2i64
8732    49480U,	// SRSHLv4i16
8733    16710U,	// SRSHLv4i32
8734    24902U,	// SRSHLv8i16
8735    57672U,	// SRSHLv8i8
8736    261U,	// SRSHRd
8737    263U,	// SRSHRv16i8_shift
8738    263U,	// SRSHRv2i32_shift
8739    261U,	// SRSHRv2i64_shift
8740    264U,	// SRSHRv4i16_shift
8741    262U,	// SRSHRv4i32_shift
8742    262U,	// SRSHRv8i16_shift
8743    264U,	// SRSHRv8i8_shift
8744    2309U,	// SRSRAd
8745    2311U,	// SRSRAv16i8_shift
8746    2311U,	// SRSRAv2i32_shift
8747    2309U,	// SRSRAv2i64_shift
8748    2312U,	// SRSRAv4i16_shift
8749    2310U,	// SRSRAv4i32_shift
8750    2310U,	// SRSRAv8i16_shift
8751    2312U,	// SRSRAv8i8_shift
8752    263U,	// SSHLLv16i8_shift
8753    263U,	// SSHLLv2i32_shift
8754    264U,	// SSHLLv4i16_shift
8755    262U,	// SSHLLv4i32_shift
8756    262U,	// SSHLLv8i16_shift
8757    264U,	// SSHLLv8i8_shift
8758    33095U,	// SSHLv16i8
8759    261U,	// SSHLv1i64
8760    41287U,	// SSHLv2i32
8761    8517U,	// SSHLv2i64
8762    49480U,	// SSHLv4i16
8763    16710U,	// SSHLv4i32
8764    24902U,	// SSHLv8i16
8765    57672U,	// SSHLv8i8
8766    261U,	// SSHRd
8767    263U,	// SSHRv16i8_shift
8768    263U,	// SSHRv2i32_shift
8769    261U,	// SSHRv2i64_shift
8770    264U,	// SSHRv4i16_shift
8771    262U,	// SSHRv4i32_shift
8772    262U,	// SSHRv8i16_shift
8773    264U,	// SSHRv8i8_shift
8774    2309U,	// SSRAd
8775    2311U,	// SSRAv16i8_shift
8776    2311U,	// SSRAv2i32_shift
8777    2309U,	// SSRAv2i64_shift
8778    2312U,	// SSRAv4i16_shift
8779    2310U,	// SSRAv4i32_shift
8780    2310U,	// SSRAv8i16_shift
8781    2312U,	// SSRAv8i8_shift
8782    3205U,	// SST1B_D
8783    3153U,	// SST1B_D_IMM
8784    3269U,	// SST1B_D_SXTW
8785    3333U,	// SST1B_D_UXTW
8786    3153U,	// SST1B_S_IMM
8787    3397U,	// SST1B_S_SXTW
8788    3461U,	// SST1B_S_UXTW
8789    3205U,	// SST1D
8790    26U,	// SST1D_IMM
8791    3525U,	// SST1D_SCALED
8792    3269U,	// SST1D_SXTW
8793    3589U,	// SST1D_SXTW_SCALED
8794    3333U,	// SST1D_UXTW
8795    3653U,	// SST1D_UXTW_SCALED
8796    3205U,	// SST1H_D
8797    26U,	// SST1H_D_IMM
8798    3717U,	// SST1H_D_SCALED
8799    3269U,	// SST1H_D_SXTW
8800    3781U,	// SST1H_D_SXTW_SCALED
8801    3333U,	// SST1H_D_UXTW
8802    3845U,	// SST1H_D_UXTW_SCALED
8803    26U,	// SST1H_S_IMM
8804    3397U,	// SST1H_S_SXTW
8805    3909U,	// SST1H_S_SXTW_SCALED
8806    3461U,	// SST1H_S_UXTW
8807    3973U,	// SST1H_S_UXTW_SCALED
8808    3205U,	// SST1W_D
8809    27U,	// SST1W_D_IMM
8810    4037U,	// SST1W_D_SCALED
8811    3269U,	// SST1W_D_SXTW
8812    4101U,	// SST1W_D_SXTW_SCALED
8813    3333U,	// SST1W_D_UXTW
8814    4165U,	// SST1W_D_UXTW_SCALED
8815    27U,	// SST1W_IMM
8816    3397U,	// SST1W_SXTW
8817    4229U,	// SST1W_SXTW_SCALED
8818    3461U,	// SST1W_UXTW
8819    4293U,	// SST1W_UXTW_SCALED
8820    33095U,	// SSUBLv16i8_v8i16
8821    41287U,	// SSUBLv2i32_v2i64
8822    49480U,	// SSUBLv4i16_v4i32
8823    16710U,	// SSUBLv4i32_v2i64
8824    24902U,	// SSUBLv8i16_v4i32
8825    57672U,	// SSUBLv8i8_v8i16
8826    33094U,	// SSUBWv16i8_v8i16
8827    41285U,	// SSUBWv2i32_v2i64
8828    49478U,	// SSUBWv4i16_v4i32
8829    16709U,	// SSUBWv4i32_v2i64
8830    24902U,	// SSUBWv8i16_v4i32
8831    57670U,	// SSUBWv8i8_v8i16
8832    4357U,	// ST1B
8833    4357U,	// ST1B_D
8834    256261U,	// ST1B_D_IMM
8835    4357U,	// ST1B_H
8836    256261U,	// ST1B_H_IMM
8837    256261U,	// ST1B_IMM
8838    4357U,	// ST1B_S
8839    256261U,	// ST1B_S_IMM
8840    4421U,	// ST1D
8841    256261U,	// ST1D_IMM
8842    0U,	// ST1Fourv16b
8843    0U,	// ST1Fourv16b_POST
8844    0U,	// ST1Fourv1d
8845    0U,	// ST1Fourv1d_POST
8846    0U,	// ST1Fourv2d
8847    0U,	// ST1Fourv2d_POST
8848    0U,	// ST1Fourv2s
8849    0U,	// ST1Fourv2s_POST
8850    0U,	// ST1Fourv4h
8851    0U,	// ST1Fourv4h_POST
8852    0U,	// ST1Fourv4s
8853    0U,	// ST1Fourv4s_POST
8854    0U,	// ST1Fourv8b
8855    0U,	// ST1Fourv8b_POST
8856    0U,	// ST1Fourv8h
8857    0U,	// ST1Fourv8h_POST
8858    4485U,	// ST1H
8859    4485U,	// ST1H_D
8860    256261U,	// ST1H_D_IMM
8861    256261U,	// ST1H_IMM
8862    4485U,	// ST1H_S
8863    256261U,	// ST1H_S_IMM
8864    0U,	// ST1Onev16b
8865    0U,	// ST1Onev16b_POST
8866    0U,	// ST1Onev1d
8867    0U,	// ST1Onev1d_POST
8868    0U,	// ST1Onev2d
8869    0U,	// ST1Onev2d_POST
8870    0U,	// ST1Onev2s
8871    0U,	// ST1Onev2s_POST
8872    0U,	// ST1Onev4h
8873    0U,	// ST1Onev4h_POST
8874    0U,	// ST1Onev4s
8875    0U,	// ST1Onev4s_POST
8876    0U,	// ST1Onev8b
8877    0U,	// ST1Onev8b_POST
8878    0U,	// ST1Onev8h
8879    0U,	// ST1Onev8h_POST
8880    0U,	// ST1Threev16b
8881    0U,	// ST1Threev16b_POST
8882    0U,	// ST1Threev1d
8883    0U,	// ST1Threev1d_POST
8884    0U,	// ST1Threev2d
8885    0U,	// ST1Threev2d_POST
8886    0U,	// ST1Threev2s
8887    0U,	// ST1Threev2s_POST
8888    0U,	// ST1Threev4h
8889    0U,	// ST1Threev4h_POST
8890    0U,	// ST1Threev4s
8891    0U,	// ST1Threev4s_POST
8892    0U,	// ST1Threev8b
8893    0U,	// ST1Threev8b_POST
8894    0U,	// ST1Threev8h
8895    0U,	// ST1Threev8h_POST
8896    0U,	// ST1Twov16b
8897    0U,	// ST1Twov16b_POST
8898    0U,	// ST1Twov1d
8899    0U,	// ST1Twov1d_POST
8900    0U,	// ST1Twov2d
8901    0U,	// ST1Twov2d_POST
8902    0U,	// ST1Twov2s
8903    0U,	// ST1Twov2s_POST
8904    0U,	// ST1Twov4h
8905    0U,	// ST1Twov4h_POST
8906    0U,	// ST1Twov4s
8907    0U,	// ST1Twov4s_POST
8908    0U,	// ST1Twov8b
8909    0U,	// ST1Twov8b_POST
8910    0U,	// ST1Twov8h
8911    0U,	// ST1Twov8h_POST
8912    4741U,	// ST1W
8913    4741U,	// ST1W_D
8914    256261U,	// ST1W_D_IMM
8915    256261U,	// ST1W_IMM
8916    0U,	// ST1i16
8917    0U,	// ST1i16_POST
8918    0U,	// ST1i32
8919    0U,	// ST1i32_POST
8920    0U,	// ST1i64
8921    0U,	// ST1i64_POST
8922    0U,	// ST1i8
8923    0U,	// ST1i8_POST
8924    4357U,	// ST2B
8925    258565U,	// ST2B_IMM
8926    4421U,	// ST2D
8927    258565U,	// ST2D_IMM
8928    4485U,	// ST2H
8929    258565U,	// ST2H_IMM
8930    0U,	// ST2Twov16b
8931    0U,	// ST2Twov16b_POST
8932    0U,	// ST2Twov2d
8933    0U,	// ST2Twov2d_POST
8934    0U,	// ST2Twov2s
8935    0U,	// ST2Twov2s_POST
8936    0U,	// ST2Twov4h
8937    0U,	// ST2Twov4h_POST
8938    0U,	// ST2Twov4s
8939    0U,	// ST2Twov4s_POST
8940    0U,	// ST2Twov8b
8941    0U,	// ST2Twov8b_POST
8942    0U,	// ST2Twov8h
8943    0U,	// ST2Twov8h_POST
8944    4741U,	// ST2W
8945    258565U,	// ST2W_IMM
8946    0U,	// ST2i16
8947    0U,	// ST2i16_POST
8948    0U,	// ST2i32
8949    0U,	// ST2i32_POST
8950    0U,	// ST2i64
8951    0U,	// ST2i64_POST
8952    0U,	// ST2i8
8953    0U,	// ST2i8_POST
8954    4357U,	// ST3B
8955    4869U,	// ST3B_IMM
8956    4421U,	// ST3D
8957    4869U,	// ST3D_IMM
8958    4485U,	// ST3H
8959    4869U,	// ST3H_IMM
8960    0U,	// ST3Threev16b
8961    0U,	// ST3Threev16b_POST
8962    0U,	// ST3Threev2d
8963    0U,	// ST3Threev2d_POST
8964    0U,	// ST3Threev2s
8965    0U,	// ST3Threev2s_POST
8966    0U,	// ST3Threev4h
8967    0U,	// ST3Threev4h_POST
8968    0U,	// ST3Threev4s
8969    0U,	// ST3Threev4s_POST
8970    0U,	// ST3Threev8b
8971    0U,	// ST3Threev8b_POST
8972    0U,	// ST3Threev8h
8973    0U,	// ST3Threev8h_POST
8974    4741U,	// ST3W
8975    4869U,	// ST3W_IMM
8976    0U,	// ST3i16
8977    0U,	// ST3i16_POST
8978    0U,	// ST3i32
8979    0U,	// ST3i32_POST
8980    0U,	// ST3i64
8981    0U,	// ST3i64_POST
8982    0U,	// ST3i8
8983    0U,	// ST3i8_POST
8984    4357U,	// ST4B
8985    258757U,	// ST4B_IMM
8986    4421U,	// ST4D
8987    258757U,	// ST4D_IMM
8988    0U,	// ST4Fourv16b
8989    0U,	// ST4Fourv16b_POST
8990    0U,	// ST4Fourv2d
8991    0U,	// ST4Fourv2d_POST
8992    0U,	// ST4Fourv2s
8993    0U,	// ST4Fourv2s_POST
8994    0U,	// ST4Fourv4h
8995    0U,	// ST4Fourv4h_POST
8996    0U,	// ST4Fourv4s
8997    0U,	// ST4Fourv4s_POST
8998    0U,	// ST4Fourv8b
8999    0U,	// ST4Fourv8b_POST
9000    0U,	// ST4Fourv8h
9001    0U,	// ST4Fourv8h_POST
9002    4485U,	// ST4H
9003    258757U,	// ST4H_IMM
9004    4741U,	// ST4W
9005    258757U,	// ST4W_IMM
9006    0U,	// ST4i16
9007    0U,	// ST4i16_POST
9008    0U,	// ST4i32
9009    0U,	// ST4i32_POST
9010    0U,	// ST4i64
9011    0U,	// ST4i64_POST
9012    0U,	// ST4i8
9013    0U,	// ST4i8_POST
9014    27U,	// STLLRB
9015    27U,	// STLLRH
9016    27U,	// STLLRW
9017    27U,	// STLLRX
9018    27U,	// STLRB
9019    27U,	// STLRH
9020    27U,	// STLRW
9021    27U,	// STLRX
9022    114949U,	// STLURBi
9023    114949U,	// STLURHi
9024    114949U,	// STLURWi
9025    114949U,	// STLURXi
9026    286981U,	// STLXPW
9027    286981U,	// STLXPX
9028    114955U,	// STLXRB
9029    114955U,	// STLXRH
9030    114955U,	// STLXRW
9031    114955U,	// STLXRX
9032    11084043U,	// STNPDi
9033    11608331U,	// STNPQi
9034    12132619U,	// STNPSi
9035    12132619U,	// STNPWi
9036    11084043U,	// STNPXi
9037    256261U,	// STNT1B_ZRI
9038    4357U,	// STNT1B_ZRR
9039    256261U,	// STNT1D_ZRI
9040    4421U,	// STNT1D_ZRR
9041    256261U,	// STNT1H_ZRI
9042    4485U,	// STNT1H_ZRR
9043    256261U,	// STNT1W_ZRI
9044    4741U,	// STNT1W_ZRR
9045    11084043U,	// STPDi
9046    12847371U,	// STPDpost
9047    180431115U,	// STPDpre
9048    11608331U,	// STPQi
9049    13371659U,	// STPQpost
9050    180955403U,	// STPQpre
9051    12132619U,	// STPSi
9052    13895947U,	// STPSpost
9053    181479691U,	// STPSpre
9054    12132619U,	// STPWi
9055    13895947U,	// STPWpost
9056    181479691U,	// STPWpre
9057    11084043U,	// STPXi
9058    12847371U,	// STPXpost
9059    180431115U,	// STPXpre
9060    28U,	// STRBBpost
9061    272645U,	// STRBBpre
9062    14229765U,	// STRBBroW
9063    14754053U,	// STRBBroX
9064    4997U,	// STRBBui
9065    28U,	// STRBpost
9066    272645U,	// STRBpre
9067    14229765U,	// STRBroW
9068    14754053U,	// STRBroX
9069    4997U,	// STRBui
9070    28U,	// STRDpost
9071    272645U,	// STRDpre
9072    15278341U,	// STRDroW
9073    15802629U,	// STRDroX
9074    5061U,	// STRDui
9075    28U,	// STRHHpost
9076    272645U,	// STRHHpre
9077    16326917U,	// STRHHroW
9078    16851205U,	// STRHHroX
9079    5125U,	// STRHHui
9080    28U,	// STRHpost
9081    272645U,	// STRHpre
9082    16326917U,	// STRHroW
9083    16851205U,	// STRHroX
9084    5125U,	// STRHui
9085    28U,	// STRQpost
9086    272645U,	// STRQpre
9087    17375493U,	// STRQroW
9088    17899781U,	// STRQroX
9089    5189U,	// STRQui
9090    28U,	// STRSpost
9091    272645U,	// STRSpre
9092    18424069U,	// STRSroW
9093    18948357U,	// STRSroX
9094    5253U,	// STRSui
9095    28U,	// STRWpost
9096    272645U,	// STRWpre
9097    18424069U,	// STRWroW
9098    18948357U,	// STRWroX
9099    5253U,	// STRWui
9100    28U,	// STRXpost
9101    272645U,	// STRXpre
9102    15278341U,	// STRXroW
9103    15802629U,	// STRXroX
9104    5061U,	// STRXui
9105    254213U,	// STR_PXI
9106    254213U,	// STR_ZXI
9107    114949U,	// STTRBi
9108    114949U,	// STTRHi
9109    114949U,	// STTRWi
9110    114949U,	// STTRXi
9111    114949U,	// STURBBi
9112    114949U,	// STURBi
9113    114949U,	// STURDi
9114    114949U,	// STURHHi
9115    114949U,	// STURHi
9116    114949U,	// STURQi
9117    114949U,	// STURSi
9118    114949U,	// STURWi
9119    114949U,	// STURXi
9120    286981U,	// STXPW
9121    286981U,	// STXPX
9122    114955U,	// STXRB
9123    114955U,	// STXRH
9124    114955U,	// STXRW
9125    114955U,	// STXRX
9126    8517U,	// SUBHNv2i64_v2i32
9127    8581U,	// SUBHNv2i64_v4i32
9128    16710U,	// SUBHNv4i32_v4i16
9129    16774U,	// SUBHNv4i32_v8i16
9130    24966U,	// SUBHNv8i16_v16i8
9131    24902U,	// SUBHNv8i16_v8i8
9132    645U,	// SUBR_ZI_B
9133    709U,	// SUBR_ZI_D
9134    9U,	// SUBR_ZI_H
9135    773U,	// SUBR_ZI_S
9136    74560U,	// SUBR_ZPmZ_B
9137    598912U,	// SUBR_ZPmZ_D
9138    1131465U,	// SUBR_ZPmZ_H
9139    1647616U,	// SUBR_ZPmZ_S
9140    453U,	// SUBSWri
9141    0U,	// SUBSWrr
9142    517U,	// SUBSWrs
9143    581U,	// SUBSWrx
9144    453U,	// SUBSXri
9145    0U,	// SUBSXrr
9146    517U,	// SUBSXrs
9147    581U,	// SUBSXrx
9148    65797U,	// SUBSXrx64
9149    453U,	// SUBWri
9150    0U,	// SUBWrr
9151    517U,	// SUBWrs
9152    581U,	// SUBWrx
9153    453U,	// SUBXri
9154    0U,	// SUBXrr
9155    517U,	// SUBXrs
9156    581U,	// SUBXrx
9157    65797U,	// SUBXrx64
9158    645U,	// SUB_ZI_B
9159    709U,	// SUB_ZI_D
9160    9U,	// SUB_ZI_H
9161    773U,	// SUB_ZI_S
9162    74560U,	// SUB_ZPmZ_B
9163    598912U,	// SUB_ZPmZ_D
9164    1131465U,	// SUB_ZPmZ_H
9165    1647616U,	// SUB_ZPmZ_S
9166    837U,	// SUB_ZZZ_B
9167    901U,	// SUB_ZZZ_D
9168    137U,	// SUB_ZZZ_H
9169    1029U,	// SUB_ZZZ_S
9170    33095U,	// SUBv16i8
9171    261U,	// SUBv1i64
9172    41287U,	// SUBv2i32
9173    8517U,	// SUBv2i64
9174    49480U,	// SUBv4i16
9175    16710U,	// SUBv4i32
9176    24902U,	// SUBv8i16
9177    57672U,	// SUBv8i8
9178    1U,	// SUNPKHI_ZZ_D
9179    0U,	// SUNPKHI_ZZ_H
9180    1U,	// SUNPKHI_ZZ_S
9181    1U,	// SUNPKLO_ZZ_D
9182    0U,	// SUNPKLO_ZZ_H
9183    1U,	// SUNPKLO_ZZ_S
9184    1U,	// SUQADDv16i8
9185    1U,	// SUQADDv1i16
9186    1U,	// SUQADDv1i32
9187    1U,	// SUQADDv1i64
9188    1U,	// SUQADDv1i8
9189    2U,	// SUQADDv2i32
9190    2U,	// SUQADDv2i64
9191    3U,	// SUQADDv4i16
9192    3U,	// SUQADDv4i32
9193    4U,	// SUQADDv8i16
9194    4U,	// SUQADDv8i8
9195    0U,	// SVC
9196    0U,	// SWPAB
9197    0U,	// SWPAH
9198    0U,	// SWPALB
9199    0U,	// SWPALH
9200    0U,	// SWPALW
9201    0U,	// SWPALX
9202    0U,	// SWPAW
9203    0U,	// SWPAX
9204    0U,	// SWPB
9205    0U,	// SWPH
9206    0U,	// SWPLB
9207    0U,	// SWPLH
9208    0U,	// SWPLW
9209    0U,	// SWPLX
9210    0U,	// SWPW
9211    0U,	// SWPX
9212    64U,	// SXTB_ZPmZ_D
9213    128U,	// SXTB_ZPmZ_H
9214    192U,	// SXTB_ZPmZ_S
9215    64U,	// SXTH_ZPmZ_D
9216    192U,	// SXTH_ZPmZ_S
9217    64U,	// SXTW_ZPmZ_D
9218    5445U,	// SYSLxt
9219    0U,	// SYSxt
9220    0U,	// TBL_ZZZ_B
9221    0U,	// TBL_ZZZ_D
9222    0U,	// TBL_ZZZ_H
9223    0U,	// TBL_ZZZ_S
9224    1U,	// TBLv16i8Four
9225    1U,	// TBLv16i8One
9226    1U,	// TBLv16i8Three
9227    1U,	// TBLv16i8Two
9228    4U,	// TBLv8i8Four
9229    4U,	// TBLv8i8One
9230    4U,	// TBLv8i8Three
9231    4U,	// TBLv8i8Two
9232    5509U,	// TBNZW
9233    5509U,	// TBNZX
9234    1U,	// TBXv16i8Four
9235    1U,	// TBXv16i8One
9236    1U,	// TBXv16i8Three
9237    1U,	// TBXv16i8Two
9238    4U,	// TBXv8i8Four
9239    4U,	// TBXv8i8One
9240    4U,	// TBXv8i8Three
9241    4U,	// TBXv8i8Two
9242    5509U,	// TBZW
9243    5509U,	// TBZX
9244    0U,	// TCRETURNdi
9245    0U,	// TCRETURNri
9246    0U,	// TLSDESCCALL
9247    0U,	// TLSDESC_CALLSEQ
9248    837U,	// TRN1_PPP_B
9249    901U,	// TRN1_PPP_D
9250    137U,	// TRN1_PPP_H
9251    1029U,	// TRN1_PPP_S
9252    837U,	// TRN1_ZZZ_B
9253    901U,	// TRN1_ZZZ_D
9254    137U,	// TRN1_ZZZ_H
9255    1029U,	// TRN1_ZZZ_S
9256    33095U,	// TRN1v16i8
9257    41287U,	// TRN1v2i32
9258    8517U,	// TRN1v2i64
9259    49480U,	// TRN1v4i16
9260    16710U,	// TRN1v4i32
9261    24902U,	// TRN1v8i16
9262    57672U,	// TRN1v8i8
9263    837U,	// TRN2_PPP_B
9264    901U,	// TRN2_PPP_D
9265    137U,	// TRN2_PPP_H
9266    1029U,	// TRN2_PPP_S
9267    837U,	// TRN2_ZZZ_B
9268    901U,	// TRN2_ZZZ_D
9269    137U,	// TRN2_ZZZ_H
9270    1029U,	// TRN2_ZZZ_S
9271    33095U,	// TRN2v16i8
9272    41287U,	// TRN2v2i32
9273    8517U,	// TRN2v2i64
9274    49480U,	// TRN2v4i16
9275    16710U,	// TRN2v4i32
9276    24902U,	// TRN2v8i16
9277    57672U,	// TRN2v8i8
9278    0U,	// TSB
9279    33159U,	// UABALv16i8_v8i16
9280    41351U,	// UABALv2i32_v2i64
9281    49544U,	// UABALv4i16_v4i32
9282    16774U,	// UABALv4i32_v2i64
9283    24966U,	// UABALv8i16_v4i32
9284    57736U,	// UABALv8i8_v8i16
9285    33159U,	// UABAv16i8
9286    41351U,	// UABAv2i32
9287    49544U,	// UABAv4i16
9288    16774U,	// UABAv4i32
9289    24966U,	// UABAv8i16
9290    57736U,	// UABAv8i8
9291    33095U,	// UABDLv16i8_v8i16
9292    41287U,	// UABDLv2i32_v2i64
9293    49480U,	// UABDLv4i16_v4i32
9294    16710U,	// UABDLv4i32_v2i64
9295    24902U,	// UABDLv8i16_v4i32
9296    57672U,	// UABDLv8i8_v8i16
9297    74560U,	// UABD_ZPmZ_B
9298    598912U,	// UABD_ZPmZ_D
9299    1131465U,	// UABD_ZPmZ_H
9300    1647616U,	// UABD_ZPmZ_S
9301    33095U,	// UABDv16i8
9302    41287U,	// UABDv2i32
9303    49480U,	// UABDv4i16
9304    16710U,	// UABDv4i32
9305    24902U,	// UABDv8i16
9306    57672U,	// UABDv8i8
9307    1U,	// UADALPv16i8_v8i16
9308    2U,	// UADALPv2i32_v1i64
9309    3U,	// UADALPv4i16_v2i32
9310    3U,	// UADALPv4i32_v2i64
9311    4U,	// UADALPv8i16_v4i32
9312    4U,	// UADALPv8i8_v4i16
9313    1U,	// UADDLPv16i8_v8i16
9314    2U,	// UADDLPv2i32_v1i64
9315    3U,	// UADDLPv4i16_v2i32
9316    3U,	// UADDLPv4i32_v2i64
9317    4U,	// UADDLPv8i16_v4i32
9318    4U,	// UADDLPv8i8_v4i16
9319    1U,	// UADDLVv16i8v
9320    3U,	// UADDLVv4i16v
9321    3U,	// UADDLVv4i32v
9322    4U,	// UADDLVv8i16v
9323    4U,	// UADDLVv8i8v
9324    33095U,	// UADDLv16i8_v8i16
9325    41287U,	// UADDLv2i32_v2i64
9326    49480U,	// UADDLv4i16_v4i32
9327    16710U,	// UADDLv4i32_v2i64
9328    24902U,	// UADDLv8i16_v4i32
9329    57672U,	// UADDLv8i8_v8i16
9330    837U,	// UADDV_VPZ_B
9331    901U,	// UADDV_VPZ_D
9332    2245U,	// UADDV_VPZ_H
9333    1029U,	// UADDV_VPZ_S
9334    33094U,	// UADDWv16i8_v8i16
9335    41285U,	// UADDWv2i32_v2i64
9336    49478U,	// UADDWv4i16_v4i32
9337    16709U,	// UADDWv4i32_v2i64
9338    24902U,	// UADDWv8i16_v4i32
9339    57670U,	// UADDWv8i8_v8i16
9340    2171141U,	// UBFMWri
9341    2171141U,	// UBFMXri
9342    261U,	// UCVTFSWDri
9343    261U,	// UCVTFSWHri
9344    261U,	// UCVTFSWSri
9345    261U,	// UCVTFSXDri
9346    261U,	// UCVTFSXHri
9347    261U,	// UCVTFSXSri
9348    1U,	// UCVTFUWDri
9349    1U,	// UCVTFUWHri
9350    1U,	// UCVTFUWSri
9351    1U,	// UCVTFUXDri
9352    1U,	// UCVTFUXHri
9353    1U,	// UCVTFUXSri
9354    64U,	// UCVTF_ZPmZ_DtoD
9355    153U,	// UCVTF_ZPmZ_DtoH
9356    64U,	// UCVTF_ZPmZ_DtoS
9357    128U,	// UCVTF_ZPmZ_HtoH
9358    192U,	// UCVTF_ZPmZ_StoD
9359    152U,	// UCVTF_ZPmZ_StoH
9360    192U,	// UCVTF_ZPmZ_StoS
9361    261U,	// UCVTFd
9362    261U,	// UCVTFh
9363    261U,	// UCVTFs
9364    1U,	// UCVTFv1i16
9365    1U,	// UCVTFv1i32
9366    1U,	// UCVTFv1i64
9367    2U,	// UCVTFv2f32
9368    2U,	// UCVTFv2f64
9369    263U,	// UCVTFv2i32_shift
9370    261U,	// UCVTFv2i64_shift
9371    3U,	// UCVTFv4f16
9372    3U,	// UCVTFv4f32
9373    264U,	// UCVTFv4i16_shift
9374    262U,	// UCVTFv4i32_shift
9375    4U,	// UCVTFv8f16
9376    262U,	// UCVTFv8i16_shift
9377    598912U,	// UDIVR_ZPmZ_D
9378    1647616U,	// UDIVR_ZPmZ_S
9379    261U,	// UDIVWr
9380    261U,	// UDIVXr
9381    598912U,	// UDIV_ZPmZ_D
9382    1647616U,	// UDIV_ZPmZ_S
9383    41U,	// UDOT_ZZZI_D
9384    41U,	// UDOT_ZZZI_S
9385    1U,	// UDOT_ZZZ_D
9386    1U,	// UDOT_ZZZ_S
9387    278919U,	// UDOTlanev16i8
9388    278920U,	// UDOTlanev8i8
9389    33159U,	// UDOTv16i8
9390    57736U,	// UDOTv8i8
9391    33095U,	// UHADDv16i8
9392    41287U,	// UHADDv2i32
9393    49480U,	// UHADDv4i16
9394    16710U,	// UHADDv4i32
9395    24902U,	// UHADDv8i16
9396    57672U,	// UHADDv8i8
9397    33095U,	// UHSUBv16i8
9398    41287U,	// UHSUBv2i32
9399    49480U,	// UHSUBv4i16
9400    16710U,	// UHSUBv4i32
9401    24902U,	// UHSUBv8i16
9402    57672U,	// UHSUBv8i8
9403    2171141U,	// UMADDLrrr
9404    33095U,	// UMAXPv16i8
9405    41287U,	// UMAXPv2i32
9406    49480U,	// UMAXPv4i16
9407    16710U,	// UMAXPv4i32
9408    24902U,	// UMAXPv8i16
9409    57672U,	// UMAXPv8i8
9410    837U,	// UMAXV_VPZ_B
9411    901U,	// UMAXV_VPZ_D
9412    2245U,	// UMAXV_VPZ_H
9413    1029U,	// UMAXV_VPZ_S
9414    1U,	// UMAXVv16i8v
9415    3U,	// UMAXVv4i16v
9416    3U,	// UMAXVv4i32v
9417    4U,	// UMAXVv8i16v
9418    4U,	// UMAXVv8i8v
9419    5573U,	// UMAX_ZI_B
9420    5573U,	// UMAX_ZI_D
9421    45U,	// UMAX_ZI_H
9422    5573U,	// UMAX_ZI_S
9423    74560U,	// UMAX_ZPmZ_B
9424    598912U,	// UMAX_ZPmZ_D
9425    1131465U,	// UMAX_ZPmZ_H
9426    1647616U,	// UMAX_ZPmZ_S
9427    33095U,	// UMAXv16i8
9428    41287U,	// UMAXv2i32
9429    49480U,	// UMAXv4i16
9430    16710U,	// UMAXv4i32
9431    24902U,	// UMAXv8i16
9432    57672U,	// UMAXv8i8
9433    33095U,	// UMINPv16i8
9434    41287U,	// UMINPv2i32
9435    49480U,	// UMINPv4i16
9436    16710U,	// UMINPv4i32
9437    24902U,	// UMINPv8i16
9438    57672U,	// UMINPv8i8
9439    837U,	// UMINV_VPZ_B
9440    901U,	// UMINV_VPZ_D
9441    2245U,	// UMINV_VPZ_H
9442    1029U,	// UMINV_VPZ_S
9443    1U,	// UMINVv16i8v
9444    3U,	// UMINVv4i16v
9445    3U,	// UMINVv4i32v
9446    4U,	// UMINVv8i16v
9447    4U,	// UMINVv8i8v
9448    5573U,	// UMIN_ZI_B
9449    5573U,	// UMIN_ZI_D
9450    45U,	// UMIN_ZI_H
9451    5573U,	// UMIN_ZI_S
9452    74560U,	// UMIN_ZPmZ_B
9453    598912U,	// UMIN_ZPmZ_D
9454    1131465U,	// UMIN_ZPmZ_H
9455    1647616U,	// UMIN_ZPmZ_S
9456    33095U,	// UMINv16i8
9457    41287U,	// UMINv2i32
9458    49480U,	// UMINv4i16
9459    16710U,	// UMINv4i32
9460    24902U,	// UMINv8i16
9461    57672U,	// UMINv8i8
9462    33159U,	// UMLALv16i8_v8i16
9463    9126279U,	// UMLALv2i32_indexed
9464    41351U,	// UMLALv2i32_v2i64
9465    9118088U,	// UMLALv4i16_indexed
9466    49544U,	// UMLALv4i16_v4i32
9467    9126278U,	// UMLALv4i32_indexed
9468    16774U,	// UMLALv4i32_v2i64
9469    9118086U,	// UMLALv8i16_indexed
9470    24966U,	// UMLALv8i16_v4i32
9471    57736U,	// UMLALv8i8_v8i16
9472    33159U,	// UMLSLv16i8_v8i16
9473    9126279U,	// UMLSLv2i32_indexed
9474    41351U,	// UMLSLv2i32_v2i64
9475    9118088U,	// UMLSLv4i16_indexed
9476    49544U,	// UMLSLv4i16_v4i32
9477    9126278U,	// UMLSLv4i32_indexed
9478    16774U,	// UMLSLv4i32_v2i64
9479    9118086U,	// UMLSLv8i16_indexed
9480    24966U,	// UMLSLv8i16_v4i32
9481    57736U,	// UMLSLv8i8_v8i16
9482    2770U,	// UMOVvi16
9483    2770U,	// UMOVvi32
9484    2771U,	// UMOVvi64
9485    2771U,	// UMOVvi8
9486    2171141U,	// UMSUBLrrr
9487    74560U,	// UMULH_ZPmZ_B
9488    598912U,	// UMULH_ZPmZ_D
9489    1131465U,	// UMULH_ZPmZ_H
9490    1647616U,	// UMULH_ZPmZ_S
9491    261U,	// UMULHrr
9492    33095U,	// UMULLv16i8_v8i16
9493    10174791U,	// UMULLv2i32_indexed
9494    41287U,	// UMULLv2i32_v2i64
9495    10166600U,	// UMULLv4i16_indexed
9496    49480U,	// UMULLv4i16_v4i32
9497    10174790U,	// UMULLv4i32_indexed
9498    16710U,	// UMULLv4i32_v2i64
9499    10166598U,	// UMULLv8i16_indexed
9500    24902U,	// UMULLv8i16_v4i32
9501    57672U,	// UMULLv8i8_v8i16
9502    645U,	// UQADD_ZI_B
9503    709U,	// UQADD_ZI_D
9504    9U,	// UQADD_ZI_H
9505    773U,	// UQADD_ZI_S
9506    837U,	// UQADD_ZZZ_B
9507    901U,	// UQADD_ZZZ_D
9508    137U,	// UQADD_ZZZ_H
9509    1029U,	// UQADD_ZZZ_S
9510    33095U,	// UQADDv16i8
9511    261U,	// UQADDv1i16
9512    261U,	// UQADDv1i32
9513    261U,	// UQADDv1i64
9514    261U,	// UQADDv1i8
9515    41287U,	// UQADDv2i32
9516    8517U,	// UQADDv2i64
9517    49480U,	// UQADDv4i16
9518    16710U,	// UQADDv4i32
9519    24902U,	// UQADDv8i16
9520    57672U,	// UQADDv8i8
9521    0U,	// UQDECB_WPiI
9522    0U,	// UQDECB_XPiI
9523    0U,	// UQDECD_WPiI
9524    0U,	// UQDECD_XPiI
9525    0U,	// UQDECD_ZPiI
9526    0U,	// UQDECH_WPiI
9527    0U,	// UQDECH_XPiI
9528    0U,	// UQDECH_ZPiI
9529    1U,	// UQDECP_WP_B
9530    1U,	// UQDECP_WP_D
9531    1U,	// UQDECP_WP_H
9532    1U,	// UQDECP_WP_S
9533    1U,	// UQDECP_XP_B
9534    1U,	// UQDECP_XP_D
9535    1U,	// UQDECP_XP_H
9536    1U,	// UQDECP_XP_S
9537    1U,	// UQDECP_ZP_D
9538    0U,	// UQDECP_ZP_H
9539    1U,	// UQDECP_ZP_S
9540    0U,	// UQDECW_WPiI
9541    0U,	// UQDECW_XPiI
9542    0U,	// UQDECW_ZPiI
9543    0U,	// UQINCB_WPiI
9544    0U,	// UQINCB_XPiI
9545    0U,	// UQINCD_WPiI
9546    0U,	// UQINCD_XPiI
9547    0U,	// UQINCD_ZPiI
9548    0U,	// UQINCH_WPiI
9549    0U,	// UQINCH_XPiI
9550    0U,	// UQINCH_ZPiI
9551    1U,	// UQINCP_WP_B
9552    1U,	// UQINCP_WP_D
9553    1U,	// UQINCP_WP_H
9554    1U,	// UQINCP_WP_S
9555    1U,	// UQINCP_XP_B
9556    1U,	// UQINCP_XP_D
9557    1U,	// UQINCP_XP_H
9558    1U,	// UQINCP_XP_S
9559    1U,	// UQINCP_ZP_D
9560    0U,	// UQINCP_ZP_H
9561    1U,	// UQINCP_ZP_S
9562    0U,	// UQINCW_WPiI
9563    0U,	// UQINCW_XPiI
9564    0U,	// UQINCW_ZPiI
9565    33095U,	// UQRSHLv16i8
9566    261U,	// UQRSHLv1i16
9567    261U,	// UQRSHLv1i32
9568    261U,	// UQRSHLv1i64
9569    261U,	// UQRSHLv1i8
9570    41287U,	// UQRSHLv2i32
9571    8517U,	// UQRSHLv2i64
9572    49480U,	// UQRSHLv4i16
9573    16710U,	// UQRSHLv4i32
9574    24902U,	// UQRSHLv8i16
9575    57672U,	// UQRSHLv8i8
9576    261U,	// UQRSHRNb
9577    261U,	// UQRSHRNh
9578    261U,	// UQRSHRNs
9579    2310U,	// UQRSHRNv16i8_shift
9580    261U,	// UQRSHRNv2i32_shift
9581    262U,	// UQRSHRNv4i16_shift
9582    2309U,	// UQRSHRNv4i32_shift
9583    2310U,	// UQRSHRNv8i16_shift
9584    262U,	// UQRSHRNv8i8_shift
9585    261U,	// UQSHLb
9586    261U,	// UQSHLd
9587    261U,	// UQSHLh
9588    261U,	// UQSHLs
9589    33095U,	// UQSHLv16i8
9590    263U,	// UQSHLv16i8_shift
9591    261U,	// UQSHLv1i16
9592    261U,	// UQSHLv1i32
9593    261U,	// UQSHLv1i64
9594    261U,	// UQSHLv1i8
9595    41287U,	// UQSHLv2i32
9596    263U,	// UQSHLv2i32_shift
9597    8517U,	// UQSHLv2i64
9598    261U,	// UQSHLv2i64_shift
9599    49480U,	// UQSHLv4i16
9600    264U,	// UQSHLv4i16_shift
9601    16710U,	// UQSHLv4i32
9602    262U,	// UQSHLv4i32_shift
9603    24902U,	// UQSHLv8i16
9604    262U,	// UQSHLv8i16_shift
9605    57672U,	// UQSHLv8i8
9606    264U,	// UQSHLv8i8_shift
9607    261U,	// UQSHRNb
9608    261U,	// UQSHRNh
9609    261U,	// UQSHRNs
9610    2310U,	// UQSHRNv16i8_shift
9611    261U,	// UQSHRNv2i32_shift
9612    262U,	// UQSHRNv4i16_shift
9613    2309U,	// UQSHRNv4i32_shift
9614    2310U,	// UQSHRNv8i16_shift
9615    262U,	// UQSHRNv8i8_shift
9616    645U,	// UQSUB_ZI_B
9617    709U,	// UQSUB_ZI_D
9618    9U,	// UQSUB_ZI_H
9619    773U,	// UQSUB_ZI_S
9620    837U,	// UQSUB_ZZZ_B
9621    901U,	// UQSUB_ZZZ_D
9622    137U,	// UQSUB_ZZZ_H
9623    1029U,	// UQSUB_ZZZ_S
9624    33095U,	// UQSUBv16i8
9625    261U,	// UQSUBv1i16
9626    261U,	// UQSUBv1i32
9627    261U,	// UQSUBv1i64
9628    261U,	// UQSUBv1i8
9629    41287U,	// UQSUBv2i32
9630    8517U,	// UQSUBv2i64
9631    49480U,	// UQSUBv4i16
9632    16710U,	// UQSUBv4i32
9633    24902U,	// UQSUBv8i16
9634    57672U,	// UQSUBv8i8
9635    4U,	// UQXTNv16i8
9636    1U,	// UQXTNv1i16
9637    1U,	// UQXTNv1i32
9638    1U,	// UQXTNv1i8
9639    2U,	// UQXTNv2i32
9640    3U,	// UQXTNv4i16
9641    2U,	// UQXTNv4i32
9642    3U,	// UQXTNv8i16
9643    4U,	// UQXTNv8i8
9644    2U,	// URECPEv2i32
9645    3U,	// URECPEv4i32
9646    33095U,	// URHADDv16i8
9647    41287U,	// URHADDv2i32
9648    49480U,	// URHADDv4i16
9649    16710U,	// URHADDv4i32
9650    24902U,	// URHADDv8i16
9651    57672U,	// URHADDv8i8
9652    33095U,	// URSHLv16i8
9653    261U,	// URSHLv1i64
9654    41287U,	// URSHLv2i32
9655    8517U,	// URSHLv2i64
9656    49480U,	// URSHLv4i16
9657    16710U,	// URSHLv4i32
9658    24902U,	// URSHLv8i16
9659    57672U,	// URSHLv8i8
9660    261U,	// URSHRd
9661    263U,	// URSHRv16i8_shift
9662    263U,	// URSHRv2i32_shift
9663    261U,	// URSHRv2i64_shift
9664    264U,	// URSHRv4i16_shift
9665    262U,	// URSHRv4i32_shift
9666    262U,	// URSHRv8i16_shift
9667    264U,	// URSHRv8i8_shift
9668    2U,	// URSQRTEv2i32
9669    3U,	// URSQRTEv4i32
9670    2309U,	// URSRAd
9671    2311U,	// URSRAv16i8_shift
9672    2311U,	// URSRAv2i32_shift
9673    2309U,	// URSRAv2i64_shift
9674    2312U,	// URSRAv4i16_shift
9675    2310U,	// URSRAv4i32_shift
9676    2310U,	// URSRAv8i16_shift
9677    2312U,	// URSRAv8i8_shift
9678    263U,	// USHLLv16i8_shift
9679    263U,	// USHLLv2i32_shift
9680    264U,	// USHLLv4i16_shift
9681    262U,	// USHLLv4i32_shift
9682    262U,	// USHLLv8i16_shift
9683    264U,	// USHLLv8i8_shift
9684    33095U,	// USHLv16i8
9685    261U,	// USHLv1i64
9686    41287U,	// USHLv2i32
9687    8517U,	// USHLv2i64
9688    49480U,	// USHLv4i16
9689    16710U,	// USHLv4i32
9690    24902U,	// USHLv8i16
9691    57672U,	// USHLv8i8
9692    261U,	// USHRd
9693    263U,	// USHRv16i8_shift
9694    263U,	// USHRv2i32_shift
9695    261U,	// USHRv2i64_shift
9696    264U,	// USHRv4i16_shift
9697    262U,	// USHRv4i32_shift
9698    262U,	// USHRv8i16_shift
9699    264U,	// USHRv8i8_shift
9700    1U,	// USQADDv16i8
9701    1U,	// USQADDv1i16
9702    1U,	// USQADDv1i32
9703    1U,	// USQADDv1i64
9704    1U,	// USQADDv1i8
9705    2U,	// USQADDv2i32
9706    2U,	// USQADDv2i64
9707    3U,	// USQADDv4i16
9708    3U,	// USQADDv4i32
9709    4U,	// USQADDv8i16
9710    4U,	// USQADDv8i8
9711    2309U,	// USRAd
9712    2311U,	// USRAv16i8_shift
9713    2311U,	// USRAv2i32_shift
9714    2309U,	// USRAv2i64_shift
9715    2312U,	// USRAv4i16_shift
9716    2310U,	// USRAv4i32_shift
9717    2310U,	// USRAv8i16_shift
9718    2312U,	// USRAv8i8_shift
9719    33095U,	// USUBLv16i8_v8i16
9720    41287U,	// USUBLv2i32_v2i64
9721    49480U,	// USUBLv4i16_v4i32
9722    16710U,	// USUBLv4i32_v2i64
9723    24902U,	// USUBLv8i16_v4i32
9724    57672U,	// USUBLv8i8_v8i16
9725    33094U,	// USUBWv16i8_v8i16
9726    41285U,	// USUBWv2i32_v2i64
9727    49478U,	// USUBWv4i16_v4i32
9728    16709U,	// USUBWv4i32_v2i64
9729    24902U,	// USUBWv8i16_v4i32
9730    57670U,	// USUBWv8i8_v8i16
9731    1U,	// UUNPKHI_ZZ_D
9732    0U,	// UUNPKHI_ZZ_H
9733    1U,	// UUNPKHI_ZZ_S
9734    1U,	// UUNPKLO_ZZ_D
9735    0U,	// UUNPKLO_ZZ_H
9736    1U,	// UUNPKLO_ZZ_S
9737    64U,	// UXTB_ZPmZ_D
9738    128U,	// UXTB_ZPmZ_H
9739    192U,	// UXTB_ZPmZ_S
9740    64U,	// UXTH_ZPmZ_D
9741    192U,	// UXTH_ZPmZ_S
9742    64U,	// UXTW_ZPmZ_D
9743    837U,	// UZP1_PPP_B
9744    901U,	// UZP1_PPP_D
9745    137U,	// UZP1_PPP_H
9746    1029U,	// UZP1_PPP_S
9747    837U,	// UZP1_ZZZ_B
9748    901U,	// UZP1_ZZZ_D
9749    137U,	// UZP1_ZZZ_H
9750    1029U,	// UZP1_ZZZ_S
9751    33095U,	// UZP1v16i8
9752    41287U,	// UZP1v2i32
9753    8517U,	// UZP1v2i64
9754    49480U,	// UZP1v4i16
9755    16710U,	// UZP1v4i32
9756    24902U,	// UZP1v8i16
9757    57672U,	// UZP1v8i8
9758    837U,	// UZP2_PPP_B
9759    901U,	// UZP2_PPP_D
9760    137U,	// UZP2_PPP_H
9761    1029U,	// UZP2_PPP_S
9762    837U,	// UZP2_ZZZ_B
9763    901U,	// UZP2_ZZZ_D
9764    137U,	// UZP2_ZZZ_H
9765    1029U,	// UZP2_ZZZ_S
9766    33095U,	// UZP2v16i8
9767    41287U,	// UZP2v2i32
9768    8517U,	// UZP2v2i64
9769    49480U,	// UZP2v4i16
9770    16710U,	// UZP2v4i32
9771    24902U,	// UZP2v8i16
9772    57672U,	// UZP2v8i8
9773    261U,	// WHILELE_PWW_B
9774    261U,	// WHILELE_PWW_D
9775    11U,	// WHILELE_PWW_H
9776    261U,	// WHILELE_PWW_S
9777    261U,	// WHILELE_PXX_B
9778    261U,	// WHILELE_PXX_D
9779    11U,	// WHILELE_PXX_H
9780    261U,	// WHILELE_PXX_S
9781    261U,	// WHILELO_PWW_B
9782    261U,	// WHILELO_PWW_D
9783    11U,	// WHILELO_PWW_H
9784    261U,	// WHILELO_PWW_S
9785    261U,	// WHILELO_PXX_B
9786    261U,	// WHILELO_PXX_D
9787    11U,	// WHILELO_PXX_H
9788    261U,	// WHILELO_PXX_S
9789    261U,	// WHILELS_PWW_B
9790    261U,	// WHILELS_PWW_D
9791    11U,	// WHILELS_PWW_H
9792    261U,	// WHILELS_PWW_S
9793    261U,	// WHILELS_PXX_B
9794    261U,	// WHILELS_PXX_D
9795    11U,	// WHILELS_PXX_H
9796    261U,	// WHILELS_PXX_S
9797    261U,	// WHILELT_PWW_B
9798    261U,	// WHILELT_PWW_D
9799    11U,	// WHILELT_PWW_H
9800    261U,	// WHILELT_PWW_S
9801    261U,	// WHILELT_PXX_B
9802    261U,	// WHILELT_PXX_D
9803    11U,	// WHILELT_PXX_H
9804    261U,	// WHILELT_PXX_S
9805    0U,	// WRFFR
9806    2253125U,	// XAR
9807    0U,	// XPACD
9808    0U,	// XPACI
9809    0U,	// XPACLRI
9810    4U,	// XTNv16i8
9811    2U,	// XTNv2i32
9812    3U,	// XTNv4i16
9813    2U,	// XTNv4i32
9814    3U,	// XTNv8i16
9815    4U,	// XTNv8i8
9816    837U,	// ZIP1_PPP_B
9817    901U,	// ZIP1_PPP_D
9818    137U,	// ZIP1_PPP_H
9819    1029U,	// ZIP1_PPP_S
9820    837U,	// ZIP1_ZZZ_B
9821    901U,	// ZIP1_ZZZ_D
9822    137U,	// ZIP1_ZZZ_H
9823    1029U,	// ZIP1_ZZZ_S
9824    33095U,	// ZIP1v16i8
9825    41287U,	// ZIP1v2i32
9826    8517U,	// ZIP1v2i64
9827    49480U,	// ZIP1v4i16
9828    16710U,	// ZIP1v4i32
9829    24902U,	// ZIP1v8i16
9830    57672U,	// ZIP1v8i8
9831    837U,	// ZIP2_PPP_B
9832    901U,	// ZIP2_PPP_D
9833    137U,	// ZIP2_PPP_H
9834    1029U,	// ZIP2_PPP_S
9835    837U,	// ZIP2_ZZZ_B
9836    901U,	// ZIP2_ZZZ_D
9837    137U,	// ZIP2_ZZZ_H
9838    1029U,	// ZIP2_ZZZ_S
9839    33095U,	// ZIP2v16i8
9840    41287U,	// ZIP2v2i32
9841    8517U,	// ZIP2v2i64
9842    49480U,	// ZIP2v4i16
9843    16710U,	// ZIP2v4i32
9844    24902U,	// ZIP2v8i16
9845    57672U,	// ZIP2v8i8
9846    837U,	// anonymous_1349
9847  };
9848
9849  O << "\t";
9850
9851  // Emit the opcode for the instruction.
9852  uint64_t Bits = 0;
9853  Bits |= (uint64_t)OpInfo0[MI->getOpcode()] << 0;
9854  Bits |= (uint64_t)OpInfo1[MI->getOpcode()] << 32;
9855  assert(Bits != 0 && "Cannot print this instruction.");
9856  O << AsmStrs+(Bits & 8191)-1;
9857
9858
9859  // Fragment 0 encoded into 6 bits for 54 unique commands.
9860  switch ((Bits >> 13) & 63) {
9861  default: llvm_unreachable("Invalid command number.");
9862  case 0:
9863    // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL...
9864    return;
9865    break;
9866  case 1:
9867    // ABS_ZPmZ_B, ADD_ZI_B, ADD_ZPmZ_B, ADD_ZZZ_B, ANDS_PPzPP, AND_PPzPP, AN...
9868    printSVERegOp<'b'>(MI, 0, STI, O);
9869    break;
9870  case 2:
9871    // ABS_ZPmZ_D, ADD_ZI_D, ADD_ZPmZ_D, ADD_ZZZ_D, ADR_LSL_ZZZ_D_0, ADR_LSL_...
9872    printSVERegOp<'d'>(MI, 0, STI, O);
9873    break;
9874  case 3:
9875    // ABS_ZPmZ_H, ADD_ZI_H, ADD_ZPmZ_H, ADD_ZZZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ...
9876    printSVERegOp<'h'>(MI, 0, STI, O);
9877    O << ", ";
9878    break;
9879  case 4:
9880    // ABS_ZPmZ_S, ADD_ZI_S, ADD_ZPmZ_S, ADD_ZZZ_S, ADR_LSL_ZZZ_S_0, ADR_LSL_...
9881    printSVERegOp<'s'>(MI, 0, STI, O);
9882    break;
9883  case 5:
9884    // ABSv16i8, ABSv2i32, ABSv2i64, ABSv4i16, ABSv4i32, ABSv8i16, ABSv8i8, A...
9885    printVRegOperand(MI, 0, STI, O);
9886    break;
9887  case 6:
9888    // ABSv1i64, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDPv2i64p, ADDSWri...
9889    printOperand(MI, 0, STI, O);
9890    break;
9891  case 7:
9892    // ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, AESDrr, AESErr, ...
9893    printVRegOperand(MI, 1, STI, O);
9894    break;
9895  case 8:
9896    // B, BL
9897    printAlignedLabel(MI, 0, STI, O);
9898    return;
9899    break;
9900  case 9:
9901    // BRK, DCPS1, DCPS2, DCPS3, HLT, HVC, SMC, SVC
9902    printImmHex(MI, 0, STI, O);
9903    return;
9904    break;
9905  case 10:
9906    // Bcc
9907    printCondCode(MI, 0, STI, O);
9908    O << "\t";
9909    printAlignedLabel(MI, 1, STI, O);
9910    return;
9911    break;
9912  case 11:
9913    // CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, CASAX, CASB, CASH...
9914    printOperand(MI, 1, STI, O);
9915    break;
9916  case 12:
9917    // CASPALW, CASPAW, CASPLW, CASPW
9918    printGPRSeqPairsClassOperand<32>(MI, 1, STI, O);
9919    O << ", ";
9920    printGPRSeqPairsClassOperand<32>(MI, 2, STI, O);
9921    O << ", [";
9922    printOperand(MI, 3, STI, O);
9923    O << ']';
9924    return;
9925    break;
9926  case 13:
9927    // CASPALX, CASPAX, CASPLX, CASPX
9928    printGPRSeqPairsClassOperand<64>(MI, 1, STI, O);
9929    O << ", ";
9930    printGPRSeqPairsClassOperand<64>(MI, 2, STI, O);
9931    O << ", [";
9932    printOperand(MI, 3, STI, O);
9933    O << ']';
9934    return;
9935    break;
9936  case 14:
9937    // DMB, DSB, ISB, TSB
9938    printBarrierOption(MI, 0, STI, O);
9939    return;
9940    break;
9941  case 15:
9942    // DUP_ZZI_Q
9943    printSVERegOp<'q'>(MI, 0, STI, O);
9944    O << ", ";
9945    printSVERegOp<'q'>(MI, 1, STI, O);
9946    printVectorIndex(MI, 2, STI, O);
9947    return;
9948    break;
9949  case 16:
9950    // GLD1B_D_IMM_REAL, GLD1B_D_REAL, GLD1B_D_SXTW_REAL, GLD1B_D_UXTW_REAL, ...
9951    printTypedVectorList<0,'d'>(MI, 0, STI, O);
9952    O << ", ";
9953    printSVERegOp<>(MI, 1, STI, O);
9954    break;
9955  case 17:
9956    // GLD1B_S_IMM_REAL, GLD1B_S_SXTW_REAL, GLD1B_S_UXTW_REAL, GLD1H_S_IMM_RE...
9957    printTypedVectorList<0,'s'>(MI, 0, STI, O);
9958    O << ", ";
9959    printSVERegOp<>(MI, 1, STI, O);
9960    break;
9961  case 18:
9962    // HINT
9963    printImm(MI, 0, STI, O);
9964    return;
9965    break;
9966  case 19:
9967    // LD1B, LD1B_IMM_REAL, LD1RB_IMM, LD1RQ_B, LD1RQ_B_IMM, LD2B, LD2B_IMM, ...
9968    printTypedVectorList<0,'b'>(MI, 0, STI, O);
9969    O << ", ";
9970    printSVERegOp<>(MI, 1, STI, O);
9971    break;
9972  case 20:
9973    // LD1B_H, LD1B_H_IMM_REAL, LD1H, LD1H_IMM_REAL, LD1RB_H_IMM, LD1RH_IMM, ...
9974    printTypedVectorList<0,'h'>(MI, 0, STI, O);
9975    O << ", ";
9976    printSVERegOp<>(MI, 1, STI, O);
9977    break;
9978  case 21:
9979    // LD1Fourv16b, LD1Onev16b, LD1Rv16b, LD1Threev16b, LD1Twov16b, LD2Rv16b,...
9980    printTypedVectorList<16, 'b'>(MI, 0, STI, O);
9981    O << ", [";
9982    printOperand(MI, 1, STI, O);
9983    O << ']';
9984    return;
9985    break;
9986  case 22:
9987    // LD1Fourv16b_POST, LD1Onev16b_POST, LD1Rv16b_POST, LD1Threev16b_POST, L...
9988    printTypedVectorList<16, 'b'>(MI, 1, STI, O);
9989    O << ", [";
9990    printOperand(MI, 2, STI, O);
9991    O << "], ";
9992    break;
9993  case 23:
9994    // LD1Fourv1d, LD1Onev1d, LD1Rv1d, LD1Threev1d, LD1Twov1d, LD2Rv1d, LD3Rv...
9995    printTypedVectorList<1, 'd'>(MI, 0, STI, O);
9996    O << ", [";
9997    printOperand(MI, 1, STI, O);
9998    O << ']';
9999    return;
10000    break;
10001  case 24:
10002    // LD1Fourv1d_POST, LD1Onev1d_POST, LD1Rv1d_POST, LD1Threev1d_POST, LD1Tw...
10003    printTypedVectorList<1, 'd'>(MI, 1, STI, O);
10004    O << ", [";
10005    printOperand(MI, 2, STI, O);
10006    O << "], ";
10007    break;
10008  case 25:
10009    // LD1Fourv2d, LD1Onev2d, LD1Rv2d, LD1Threev2d, LD1Twov2d, LD2Rv2d, LD2Tw...
10010    printTypedVectorList<2, 'd'>(MI, 0, STI, O);
10011    O << ", [";
10012    printOperand(MI, 1, STI, O);
10013    O << ']';
10014    return;
10015    break;
10016  case 26:
10017    // LD1Fourv2d_POST, LD1Onev2d_POST, LD1Rv2d_POST, LD1Threev2d_POST, LD1Tw...
10018    printTypedVectorList<2, 'd'>(MI, 1, STI, O);
10019    O << ", [";
10020    printOperand(MI, 2, STI, O);
10021    O << "], ";
10022    break;
10023  case 27:
10024    // LD1Fourv2s, LD1Onev2s, LD1Rv2s, LD1Threev2s, LD1Twov2s, LD2Rv2s, LD2Tw...
10025    printTypedVectorList<2, 's'>(MI, 0, STI, O);
10026    O << ", [";
10027    printOperand(MI, 1, STI, O);
10028    O << ']';
10029    return;
10030    break;
10031  case 28:
10032    // LD1Fourv2s_POST, LD1Onev2s_POST, LD1Rv2s_POST, LD1Threev2s_POST, LD1Tw...
10033    printTypedVectorList<2, 's'>(MI, 1, STI, O);
10034    O << ", [";
10035    printOperand(MI, 2, STI, O);
10036    O << "], ";
10037    break;
10038  case 29:
10039    // LD1Fourv4h, LD1Onev4h, LD1Rv4h, LD1Threev4h, LD1Twov4h, LD2Rv4h, LD2Tw...
10040    printTypedVectorList<4, 'h'>(MI, 0, STI, O);
10041    O << ", [";
10042    printOperand(MI, 1, STI, O);
10043    O << ']';
10044    return;
10045    break;
10046  case 30:
10047    // LD1Fourv4h_POST, LD1Onev4h_POST, LD1Rv4h_POST, LD1Threev4h_POST, LD1Tw...
10048    printTypedVectorList<4, 'h'>(MI, 1, STI, O);
10049    O << ", [";
10050    printOperand(MI, 2, STI, O);
10051    O << "], ";
10052    break;
10053  case 31:
10054    // LD1Fourv4s, LD1Onev4s, LD1Rv4s, LD1Threev4s, LD1Twov4s, LD2Rv4s, LD2Tw...
10055    printTypedVectorList<4, 's'>(MI, 0, STI, O);
10056    O << ", [";
10057    printOperand(MI, 1, STI, O);
10058    O << ']';
10059    return;
10060    break;
10061  case 32:
10062    // LD1Fourv4s_POST, LD1Onev4s_POST, LD1Rv4s_POST, LD1Threev4s_POST, LD1Tw...
10063    printTypedVectorList<4, 's'>(MI, 1, STI, O);
10064    O << ", [";
10065    printOperand(MI, 2, STI, O);
10066    O << "], ";
10067    break;
10068  case 33:
10069    // LD1Fourv8b, LD1Onev8b, LD1Rv8b, LD1Threev8b, LD1Twov8b, LD2Rv8b, LD2Tw...
10070    printTypedVectorList<8, 'b'>(MI, 0, STI, O);
10071    O << ", [";
10072    printOperand(MI, 1, STI, O);
10073    O << ']';
10074    return;
10075    break;
10076  case 34:
10077    // LD1Fourv8b_POST, LD1Onev8b_POST, LD1Rv8b_POST, LD1Threev8b_POST, LD1Tw...
10078    printTypedVectorList<8, 'b'>(MI, 1, STI, O);
10079    O << ", [";
10080    printOperand(MI, 2, STI, O);
10081    O << "], ";
10082    break;
10083  case 35:
10084    // LD1Fourv8h, LD1Onev8h, LD1Rv8h, LD1Threev8h, LD1Twov8h, LD2Rv8h, LD2Tw...
10085    printTypedVectorList<8, 'h'>(MI, 0, STI, O);
10086    O << ", [";
10087    printOperand(MI, 1, STI, O);
10088    O << ']';
10089    return;
10090    break;
10091  case 36:
10092    // LD1Fourv8h_POST, LD1Onev8h_POST, LD1Rv8h_POST, LD1Threev8h_POST, LD1Tw...
10093    printTypedVectorList<8, 'h'>(MI, 1, STI, O);
10094    O << ", [";
10095    printOperand(MI, 2, STI, O);
10096    O << "], ";
10097    break;
10098  case 37:
10099    // LD1i16, LD2i16, LD3i16, LD4i16, ST1i16_POST, ST2i16_POST, ST3i16_POST,...
10100    printTypedVectorList<0, 'h'>(MI, 1, STI, O);
10101    printVectorIndex(MI, 2, STI, O);
10102    O << ", [";
10103    printOperand(MI, 3, STI, O);
10104    break;
10105  case 38:
10106    // LD1i16_POST, LD2i16_POST, LD3i16_POST, LD4i16_POST
10107    printTypedVectorList<0, 'h'>(MI, 2, STI, O);
10108    printVectorIndex(MI, 3, STI, O);
10109    O << ", [";
10110    printOperand(MI, 4, STI, O);
10111    O << "], ";
10112    break;
10113  case 39:
10114    // LD1i32, LD2i32, LD3i32, LD4i32, ST1i32_POST, ST2i32_POST, ST3i32_POST,...
10115    printTypedVectorList<0, 's'>(MI, 1, STI, O);
10116    printVectorIndex(MI, 2, STI, O);
10117    O << ", [";
10118    printOperand(MI, 3, STI, O);
10119    break;
10120  case 40:
10121    // LD1i32_POST, LD2i32_POST, LD3i32_POST, LD4i32_POST
10122    printTypedVectorList<0, 's'>(MI, 2, STI, O);
10123    printVectorIndex(MI, 3, STI, O);
10124    O << ", [";
10125    printOperand(MI, 4, STI, O);
10126    O << "], ";
10127    break;
10128  case 41:
10129    // LD1i64, LD2i64, LD3i64, LD4i64, ST1i64_POST, ST2i64_POST, ST3i64_POST,...
10130    printTypedVectorList<0, 'd'>(MI, 1, STI, O);
10131    printVectorIndex(MI, 2, STI, O);
10132    O << ", [";
10133    printOperand(MI, 3, STI, O);
10134    break;
10135  case 42:
10136    // LD1i64_POST, LD2i64_POST, LD3i64_POST, LD4i64_POST
10137    printTypedVectorList<0, 'd'>(MI, 2, STI, O);
10138    printVectorIndex(MI, 3, STI, O);
10139    O << ", [";
10140    printOperand(MI, 4, STI, O);
10141    O << "], ";
10142    break;
10143  case 43:
10144    // LD1i8, LD2i8, LD3i8, LD4i8, ST1i8_POST, ST2i8_POST, ST3i8_POST, ST4i8_...
10145    printTypedVectorList<0, 'b'>(MI, 1, STI, O);
10146    printVectorIndex(MI, 2, STI, O);
10147    O << ", [";
10148    printOperand(MI, 3, STI, O);
10149    break;
10150  case 44:
10151    // LD1i8_POST, LD2i8_POST, LD3i8_POST, LD4i8_POST
10152    printTypedVectorList<0, 'b'>(MI, 2, STI, O);
10153    printVectorIndex(MI, 3, STI, O);
10154    O << ", [";
10155    printOperand(MI, 4, STI, O);
10156    O << "], ";
10157    break;
10158  case 45:
10159    // LDR_PXI, LDR_ZXI, MOVPRFX_ZZ, PTEST_PP, STR_PXI, STR_ZXI
10160    printSVERegOp<>(MI, 0, STI, O);
10161    break;
10162  case 46:
10163    // MSR
10164    printMSRSystemRegister(MI, 0, STI, O);
10165    O << ", ";
10166    printOperand(MI, 1, STI, O);
10167    return;
10168    break;
10169  case 47:
10170    // MSRpstateImm1, MSRpstateImm4
10171    printSystemPStateField(MI, 0, STI, O);
10172    O << ", ";
10173    printOperand(MI, 1, STI, O);
10174    return;
10175    break;
10176  case 48:
10177    // PRFB_D_PZI, PRFB_D_SCALED, PRFB_D_SXTW_SCALED, PRFB_D_UXTW_SCALED, PRF...
10178    printPrefetchOp<true>(MI, 0, STI, O);
10179    O << ", ";
10180    printSVERegOp<>(MI, 1, STI, O);
10181    O << ", [";
10182    break;
10183  case 49:
10184    // PRFMl, PRFMroW, PRFMroX, PRFMui, PRFUMi
10185    printPrefetchOp(MI, 0, STI, O);
10186    break;
10187  case 50:
10188    // ST1i16, ST2i16, ST3i16, ST4i16
10189    printTypedVectorList<0, 'h'>(MI, 0, STI, O);
10190    printVectorIndex(MI, 1, STI, O);
10191    O << ", [";
10192    printOperand(MI, 2, STI, O);
10193    O << ']';
10194    return;
10195    break;
10196  case 51:
10197    // ST1i32, ST2i32, ST3i32, ST4i32
10198    printTypedVectorList<0, 's'>(MI, 0, STI, O);
10199    printVectorIndex(MI, 1, STI, O);
10200    O << ", [";
10201    printOperand(MI, 2, STI, O);
10202    O << ']';
10203    return;
10204    break;
10205  case 52:
10206    // ST1i64, ST2i64, ST3i64, ST4i64
10207    printTypedVectorList<0, 'd'>(MI, 0, STI, O);
10208    printVectorIndex(MI, 1, STI, O);
10209    O << ", [";
10210    printOperand(MI, 2, STI, O);
10211    O << ']';
10212    return;
10213    break;
10214  case 53:
10215    // ST1i8, ST2i8, ST3i8, ST4i8
10216    printTypedVectorList<0, 'b'>(MI, 0, STI, O);
10217    printVectorIndex(MI, 1, STI, O);
10218    O << ", [";
10219    printOperand(MI, 2, STI, O);
10220    O << ']';
10221    return;
10222    break;
10223  }
10224
10225
10226  // Fragment 1 encoded into 6 bits for 56 unique commands.
10227  switch ((Bits >> 19) & 63) {
10228  default: llvm_unreachable("Invalid command number.");
10229  case 0:
10230    // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, ABSv1i64, ADCSWr, ADCSXr, ADCWr, A...
10231    O << ", ";
10232    break;
10233  case 1:
10234    // ABS_ZPmZ_H, CLS_ZPmZ_H, CLZ_ZPmZ_H, CNOT_ZPmZ_H, CNT_ZPmZ_H, CPY_ZPmI_...
10235    printSVERegOp<>(MI, 2, STI, O);
10236    break;
10237  case 2:
10238    // ABSv16i8, ADDHNv8i16_v16i8, ADDPv16i8, ADDv16i8, AESDrr, AESErr, AESIM...
10239    O << ".16b, ";
10240    break;
10241  case 3:
10242    // ABSv2i32, ADDHNv2i64_v2i32, ADDPv2i32, ADDv2i32, BICv2i32, CLSv2i32, C...
10243    O << ".2s, ";
10244    break;
10245  case 4:
10246    // ABSv2i64, ADDPv2i64, ADDv2i64, CMEQv2i64, CMEQv2i64rz, CMGEv2i64, CMGE...
10247    O << ".2d, ";
10248    break;
10249  case 5:
10250    // ABSv4i16, ADDHNv4i32_v4i16, ADDPv4i16, ADDv4i16, BICv4i16, CLSv4i16, C...
10251    O << ".4h, ";
10252    break;
10253  case 6:
10254    // ABSv4i32, ADDHNv2i64_v4i32, ADDPv4i32, ADDv4i32, BICv4i32, CLSv4i32, C...
10255    O << ".4s, ";
10256    break;
10257  case 7:
10258    // ABSv8i16, ADDHNv4i32_v8i16, ADDPv8i16, ADDv8i16, BICv8i16, CLSv8i16, C...
10259    O << ".8h, ";
10260    break;
10261  case 8:
10262    // ABSv8i8, ADDHNv8i16_v8i8, ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8...
10263    O << ".8b, ";
10264    break;
10265  case 9:
10266    // ADD_ZI_H, ADD_ZZZ_H, ASR_WIDE_ZZZ_H, ASR_ZZI_H, DUP_ZZI_H, FADD_ZZZ_H,...
10267    printSVERegOp<'h'>(MI, 1, STI, O);
10268    break;
10269  case 10:
10270    // ADD_ZPmZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE_ZPmZ_H, ASR...
10271    printSVERegOp<>(MI, 1, STI, O);
10272    break;
10273  case 11:
10274    // ADR_LSL_ZZZ_D_0, ADR_LSL_ZZZ_D_1, ADR_LSL_ZZZ_D_2, ADR_LSL_ZZZ_D_3, AD...
10275    O << ", [";
10276    break;
10277  case 12:
10278    // AUTDZA, AUTDZB, AUTIZA, AUTIZB, BLR, BLRAAZ, BLRABZ, BR, BRAAZ, BRABZ,...
10279    return;
10280    break;
10281  case 13:
10282    // DECH_ZPiI, INCH_ZPiI, SQDECH_ZPiI, SQINCH_ZPiI, UQDECH_ZPiI, UQINCH_ZP...
10283    printSVEPattern(MI, 2, STI, O);
10284    O << ", mul ";
10285    printOperand(MI, 3, STI, O);
10286    return;
10287    break;
10288  case 14:
10289    // DUP_ZI_H
10290    printImm8OptLsl<int16_t>(MI, 1, STI, O);
10291    return;
10292    break;
10293  case 15:
10294    // DUP_ZR_H, INDEX_II_H, INDEX_IR_H, INDEX_RI_H, INDEX_RR_H, WHILELE_PWW_...
10295    printOperand(MI, 1, STI, O);
10296    break;
10297  case 16:
10298    // FCMLA_ZZZI_H, FMLA_ZZZI_H, FMLS_ZZZI_H
10299    printSVERegOp<'h'>(MI, 2, STI, O);
10300    O << ", ";
10301    printSVERegOp<'h'>(MI, 3, STI, O);
10302    printVectorIndex(MI, 4, STI, O);
10303    break;
10304  case 17:
10305    // FCMPDri, FCMPEDri, FCMPEHri, FCMPESri, FCMPHri, FCMPSri
10306    O << ", #0.0";
10307    return;
10308    break;
10309  case 18:
10310    // FDUP_ZI_H
10311    printFPImmOperand(MI, 1, STI, O);
10312    return;
10313    break;
10314  case 19:
10315    // FMOVXDHighr, INSvi64gpr, INSvi64lane
10316    O << ".d";
10317    printVectorIndex(MI, 2, STI, O);
10318    O << ", ";
10319    break;
10320  case 20:
10321    // GLD1B_D_IMM_REAL, GLD1B_D_REAL, GLD1B_D_SXTW_REAL, GLD1B_D_UXTW_REAL, ...
10322    O << "/z, [";
10323    break;
10324  case 21:
10325    // INSR_ZR_H, INSR_ZV_H, PRFB_D_SCALED, PRFB_D_SXTW_SCALED, PRFB_D_UXTW_S...
10326    printOperand(MI, 2, STI, O);
10327    break;
10328  case 22:
10329    // INSvi16gpr, INSvi16lane
10330    O << ".h";
10331    printVectorIndex(MI, 2, STI, O);
10332    O << ", ";
10333    break;
10334  case 23:
10335    // INSvi32gpr, INSvi32lane
10336    O << ".s";
10337    printVectorIndex(MI, 2, STI, O);
10338    O << ", ";
10339    break;
10340  case 24:
10341    // INSvi8gpr, INSvi8lane
10342    O << ".b";
10343    printVectorIndex(MI, 2, STI, O);
10344    O << ", ";
10345    break;
10346  case 25:
10347    // LD1Fourv16b_POST, LD1Fourv2d_POST, LD1Fourv4s_POST, LD1Fourv8h_POST, L...
10348    printPostIncOperand<64>(MI, 3, STI, O);
10349    return;
10350    break;
10351  case 26:
10352    // LD1Fourv1d_POST, LD1Fourv2s_POST, LD1Fourv4h_POST, LD1Fourv8b_POST, LD...
10353    printPostIncOperand<32>(MI, 3, STI, O);
10354    return;
10355    break;
10356  case 27:
10357    // LD1Onev16b_POST, LD1Onev2d_POST, LD1Onev4s_POST, LD1Onev8h_POST, LD1Tw...
10358    printPostIncOperand<16>(MI, 3, STI, O);
10359    return;
10360    break;
10361  case 28:
10362    // LD1Onev1d_POST, LD1Onev2s_POST, LD1Onev4h_POST, LD1Onev8b_POST, LD1Rv1...
10363    printPostIncOperand<8>(MI, 3, STI, O);
10364    return;
10365    break;
10366  case 29:
10367    // LD1Rv16b_POST, LD1Rv8b_POST
10368    printPostIncOperand<1>(MI, 3, STI, O);
10369    return;
10370    break;
10371  case 30:
10372    // LD1Rv2s_POST, LD1Rv4s_POST, LD2Rv4h_POST, LD2Rv8h_POST, LD4Rv16b_POST,...
10373    printPostIncOperand<4>(MI, 3, STI, O);
10374    return;
10375    break;
10376  case 31:
10377    // LD1Rv4h_POST, LD1Rv8h_POST, LD2Rv16b_POST, LD2Rv8b_POST
10378    printPostIncOperand<2>(MI, 3, STI, O);
10379    return;
10380    break;
10381  case 32:
10382    // LD1Threev16b_POST, LD1Threev2d_POST, LD1Threev4s_POST, LD1Threev8h_POS...
10383    printPostIncOperand<48>(MI, 3, STI, O);
10384    return;
10385    break;
10386  case 33:
10387    // LD1Threev1d_POST, LD1Threev2s_POST, LD1Threev4h_POST, LD1Threev8b_POST...
10388    printPostIncOperand<24>(MI, 3, STI, O);
10389    return;
10390    break;
10391  case 34:
10392    // LD1i16, LD1i32, LD1i64, LD1i8, LD2i16, LD2i32, LD2i64, LD2i8, LD3i16, ...
10393    O << ']';
10394    return;
10395    break;
10396  case 35:
10397    // LD1i16_POST, LD2i8_POST
10398    printPostIncOperand<2>(MI, 5, STI, O);
10399    return;
10400    break;
10401  case 36:
10402    // LD1i32_POST, LD2i16_POST, LD4i8_POST
10403    printPostIncOperand<4>(MI, 5, STI, O);
10404    return;
10405    break;
10406  case 37:
10407    // LD1i64_POST, LD2i32_POST, LD4i16_POST
10408    printPostIncOperand<8>(MI, 5, STI, O);
10409    return;
10410    break;
10411  case 38:
10412    // LD1i8_POST
10413    printPostIncOperand<1>(MI, 5, STI, O);
10414    return;
10415    break;
10416  case 39:
10417    // LD2i64_POST, LD4i32_POST
10418    printPostIncOperand<16>(MI, 5, STI, O);
10419    return;
10420    break;
10421  case 40:
10422    // LD3Rv16b_POST, LD3Rv8b_POST
10423    printPostIncOperand<3>(MI, 3, STI, O);
10424    return;
10425    break;
10426  case 41:
10427    // LD3Rv2s_POST, LD3Rv4s_POST
10428    printPostIncOperand<12>(MI, 3, STI, O);
10429    return;
10430    break;
10431  case 42:
10432    // LD3Rv4h_POST, LD3Rv8h_POST
10433    printPostIncOperand<6>(MI, 3, STI, O);
10434    return;
10435    break;
10436  case 43:
10437    // LD3i16_POST
10438    printPostIncOperand<6>(MI, 5, STI, O);
10439    return;
10440    break;
10441  case 44:
10442    // LD3i32_POST
10443    printPostIncOperand<12>(MI, 5, STI, O);
10444    return;
10445    break;
10446  case 45:
10447    // LD3i64_POST
10448    printPostIncOperand<24>(MI, 5, STI, O);
10449    return;
10450    break;
10451  case 46:
10452    // LD3i8_POST
10453    printPostIncOperand<3>(MI, 5, STI, O);
10454    return;
10455    break;
10456  case 47:
10457    // LD4i64_POST
10458    printPostIncOperand<32>(MI, 5, STI, O);
10459    return;
10460    break;
10461  case 48:
10462    // PMULLv1i64, PMULLv2i64
10463    O << ".1q, ";
10464    printVRegOperand(MI, 1, STI, O);
10465    break;
10466  case 49:
10467    // PRFB_D_PZI, PRFD_D_PZI, PRFH_D_PZI, PRFW_D_PZI
10468    printSVERegOp<'d'>(MI, 2, STI, O);
10469    O << ", ";
10470    break;
10471  case 50:
10472    // PRFB_S_PZI, PRFD_S_PZI, PRFH_S_PZI, PRFW_S_PZI
10473    printSVERegOp<'s'>(MI, 2, STI, O);
10474    O << ", ";
10475    break;
10476  case 51:
10477    // PTRUES_H, PTRUE_H
10478    printSVEPattern(MI, 1, STI, O);
10479    return;
10480    break;
10481  case 52:
10482    // PUNPKHI_PP, PUNPKLO_PP, SUNPKHI_ZZ_H, SUNPKLO_ZZ_H, UUNPKHI_ZZ_H, UUNP...
10483    printSVERegOp<'b'>(MI, 1, STI, O);
10484    return;
10485    break;
10486  case 53:
10487    // SADALPv2i32_v1i64, SADDLPv2i32_v1i64, UADALPv2i32_v1i64, UADDLPv2i32_v...
10488    O << ".1d, ";
10489    break;
10490  case 54:
10491    // ST1i16_POST, ST1i32_POST, ST1i64_POST, ST1i8_POST, ST2i16_POST, ST2i32...
10492    O << "], ";
10493    break;
10494  case 55:
10495    // TBL_ZZZ_H
10496    printTypedVectorList<0,'h'>(MI, 1, STI, O);
10497    O << ", ";
10498    printSVERegOp<'h'>(MI, 2, STI, O);
10499    return;
10500    break;
10501  }
10502
10503
10504  // Fragment 2 encoded into 6 bits for 57 unique commands.
10505  switch ((Bits >> 25) & 63) {
10506  default: llvm_unreachable("Invalid command number.");
10507  case 0:
10508    // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, BRKA_PPmP, BRKB_PPmP, CLS_ZPmZ_B, ...
10509    printSVERegOp<>(MI, 2, STI, O);
10510    break;
10511  case 1:
10512    // ABS_ZPmZ_H, ADD_ZPmZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE...
10513    O << "/m, ";
10514    break;
10515  case 2:
10516    // ABSv16i8, ABSv2i32, ABSv2i64, ABSv4i16, ABSv4i32, ABSv8i16, ABSv8i8, A...
10517    printVRegOperand(MI, 1, STI, O);
10518    break;
10519  case 3:
10520    // ABSv1i64, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDSWri, ADDSWrs, A...
10521    printOperand(MI, 1, STI, O);
10522    break;
10523  case 4:
10524    // ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, AESDrr, AESErr, ...
10525    printVRegOperand(MI, 2, STI, O);
10526    break;
10527  case 5:
10528    // ADD_ZI_B, ADD_ZZZ_B, ASR_WIDE_ZZZ_B, ASR_ZZI_B, DECP_XP_B, DUP_ZZI_B, ...
10529    printSVERegOp<'b'>(MI, 1, STI, O);
10530    break;
10531  case 6:
10532    // ADD_ZI_D, ADD_ZZZ_D, ADR_LSL_ZZZ_D_0, ADR_LSL_ZZZ_D_1, ADR_LSL_ZZZ_D_2...
10533    printSVERegOp<'d'>(MI, 1, STI, O);
10534    break;
10535  case 7:
10536    // ADD_ZI_H, ADD_ZZZ_H, ASR_WIDE_ZZZ_H, ASR_ZZI_H, CLASTA_ZPZ_H, CLASTB_Z...
10537    O << ", ";
10538    break;
10539  case 8:
10540    // ADD_ZI_S, ADD_ZZZ_S, ADR_LSL_ZZZ_S_0, ADR_LSL_ZZZ_S_1, ADR_LSL_ZZZ_S_2...
10541    printSVERegOp<'s'>(MI, 1, STI, O);
10542    break;
10543  case 9:
10544    // ADD_ZPmZ_B, ADD_ZPmZ_D, ADD_ZPmZ_S, ANDS_PPzPP, ANDV_VPZ_B, ANDV_VPZ_D...
10545    printSVERegOp<>(MI, 1, STI, O);
10546    break;
10547  case 10:
10548    // ADRP
10549    printAdrpLabel(MI, 1, STI, O);
10550    return;
10551    break;
10552  case 11:
10553    // BFMWri, BFMXri, CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, C...
10554    printOperand(MI, 2, STI, O);
10555    break;
10556  case 12:
10557    // BICv2i32, BICv4i16, BICv4i32, BICv8i16, MOVKWi, MOVKXi, ORRv2i32, ORRv...
10558    printImm(MI, 2, STI, O);
10559    printShifter(MI, 3, STI, O);
10560    return;
10561    break;
10562  case 13:
10563    // CBNZW, CBNZX, CBZW, CBZX, LDRDl, LDRQl, LDRSWl, LDRSl, LDRWl, LDRXl, P...
10564    printAlignedLabel(MI, 1, STI, O);
10565    return;
10566    break;
10567  case 14:
10568    // CMPEQ_PPzZI_H, CMPEQ_PPzZZ_H, CMPEQ_WIDE_PPzZZ_H, CMPGE_PPzZI_H, CMPGE...
10569    O << "/z, ";
10570    break;
10571  case 15:
10572    // CNTB_XPiI, CNTD_XPiI, CNTH_XPiI, CNTW_XPiI, PTRUES_B, PTRUES_D, PTRUES...
10573    printSVEPattern(MI, 1, STI, O);
10574    break;
10575  case 16:
10576    // DECB_XPiI, DECD_XPiI, DECD_ZPiI, DECH_XPiI, DECW_XPiI, DECW_ZPiI, INCB...
10577    printSVEPattern(MI, 2, STI, O);
10578    O << ", mul ";
10579    printOperand(MI, 3, STI, O);
10580    return;
10581    break;
10582  case 17:
10583    // DECP_XP_H, INCP_XP_H, SQDECP_XPWd_H, SQDECP_XP_H, SQINCP_XPWd_H, SQINC...
10584    printSVERegOp<'h'>(MI, 1, STI, O);
10585    break;
10586  case 18:
10587    // DECP_ZP_H, DUP_ZR_H, FEXPA_ZZ_H, FMLA_ZZZI_H, FMLS_ZZZI_H, FRECPE_ZZ_H...
10588    return;
10589    break;
10590  case 19:
10591    // DUPM_ZI
10592    printLogicalImm<int64_t>(MI, 1, STI, O);
10593    return;
10594    break;
10595  case 20:
10596    // DUP_ZI_B
10597    printImm8OptLsl<int8_t>(MI, 1, STI, O);
10598    return;
10599    break;
10600  case 21:
10601    // DUP_ZI_D
10602    printImm8OptLsl<int64_t>(MI, 1, STI, O);
10603    return;
10604    break;
10605  case 22:
10606    // DUP_ZI_S
10607    printImm8OptLsl<int32_t>(MI, 1, STI, O);
10608    return;
10609    break;
10610  case 23:
10611    // DUP_ZZI_H
10612    printVectorIndex(MI, 2, STI, O);
10613    return;
10614    break;
10615  case 24:
10616    // FCMLA_ZZZI_S, FMLA_ZZZI_S, FMLS_ZZZI_S, GLD1B_S_IMM_REAL, GLD1H_S_IMM_...
10617    printSVERegOp<'s'>(MI, 2, STI, O);
10618    O << ", ";
10619    break;
10620  case 25:
10621    // FDUP_ZI_D, FDUP_ZI_S, FMOVDi, FMOVHi, FMOVSi, FMOVv2f32_ns, FMOVv2f64_...
10622    printFPImmOperand(MI, 1, STI, O);
10623    return;
10624    break;
10625  case 26:
10626    // FMLA_ZZZI_D, FMLS_ZZZI_D, GLD1B_D_IMM_REAL, GLD1D_IMM_REAL, GLD1H_D_IM...
10627    printSVERegOp<'d'>(MI, 2, STI, O);
10628    O << ", ";
10629    break;
10630  case 27:
10631    // INSvi16gpr, INSvi32gpr, INSvi64gpr, INSvi8gpr, PRFB_D_PZI, PRFB_S_PZI
10632    printOperand(MI, 3, STI, O);
10633    break;
10634  case 28:
10635    // INSvi16lane, INSvi32lane, INSvi64lane, INSvi8lane
10636    printVRegOperand(MI, 3, STI, O);
10637    break;
10638  case 29:
10639    // LDADDAB, LDADDAH, LDADDALB, LDADDALH, LDADDALW, LDADDALX, LDADDAW, LDA...
10640    printOperand(MI, 0, STI, O);
10641    O << ", [";
10642    printOperand(MI, 2, STI, O);
10643    O << ']';
10644    return;
10645    break;
10646  case 30:
10647    // MOVID, MOVIv2d_ns
10648    printSIMDType10Operand(MI, 1, STI, O);
10649    return;
10650    break;
10651  case 31:
10652    // MOVIv16b_ns, MOVIv2i32, MOVIv2s_msl, MOVIv4i16, MOVIv4i32, MOVIv4s_msl...
10653    printImm(MI, 1, STI, O);
10654    break;
10655  case 32:
10656    // MRS
10657    printMRSSystemRegister(MI, 1, STI, O);
10658    return;
10659    break;
10660  case 33:
10661    // PMULLv1i64
10662    O << ".1d, ";
10663    printVRegOperand(MI, 2, STI, O);
10664    O << ".1d";
10665    return;
10666    break;
10667  case 34:
10668    // PMULLv2i64
10669    O << ".2d, ";
10670    printVRegOperand(MI, 2, STI, O);
10671    O << ".2d";
10672    return;
10673    break;
10674  case 35:
10675    // PRFD_D_PZI, PRFD_S_PZI
10676    printImmScale<8>(MI, 3, STI, O);
10677    O << ']';
10678    return;
10679    break;
10680  case 36:
10681    // PRFH_D_PZI, PRFH_S_PZI
10682    printImmScale<2>(MI, 3, STI, O);
10683    O << ']';
10684    return;
10685    break;
10686  case 37:
10687    // PRFW_D_PZI, PRFW_S_PZI
10688    printImmScale<4>(MI, 3, STI, O);
10689    O << ']';
10690    return;
10691    break;
10692  case 38:
10693    // SDOT_ZZZI_D, SDOT_ZZZ_D, UDOT_ZZZI_D, UDOT_ZZZ_D
10694    printSVERegOp<'h'>(MI, 2, STI, O);
10695    O << ", ";
10696    printSVERegOp<'h'>(MI, 3, STI, O);
10697    break;
10698  case 39:
10699    // SDOT_ZZZI_S, SDOT_ZZZ_S, UDOT_ZZZI_S, UDOT_ZZZ_S
10700    printSVERegOp<'b'>(MI, 2, STI, O);
10701    O << ", ";
10702    printSVERegOp<'b'>(MI, 3, STI, O);
10703    break;
10704  case 40:
10705    // SQDECB_XPiWdI, SQDECD_XPiWdI, SQDECH_XPiWdI, SQDECW_XPiWdI, SQINCB_XPi...
10706    printGPR64as32(MI, 1, STI, O);
10707    O << ", ";
10708    printSVEPattern(MI, 2, STI, O);
10709    O << ", mul ";
10710    printOperand(MI, 3, STI, O);
10711    return;
10712    break;
10713  case 41:
10714    // ST1i16_POST, ST2i8_POST
10715    printPostIncOperand<2>(MI, 4, STI, O);
10716    return;
10717    break;
10718  case 42:
10719    // ST1i32_POST, ST2i16_POST, ST4i8_POST
10720    printPostIncOperand<4>(MI, 4, STI, O);
10721    return;
10722    break;
10723  case 43:
10724    // ST1i64_POST, ST2i32_POST, ST4i16_POST
10725    printPostIncOperand<8>(MI, 4, STI, O);
10726    return;
10727    break;
10728  case 44:
10729    // ST1i8_POST
10730    printPostIncOperand<1>(MI, 4, STI, O);
10731    return;
10732    break;
10733  case 45:
10734    // ST2i64_POST, ST4i32_POST
10735    printPostIncOperand<16>(MI, 4, STI, O);
10736    return;
10737    break;
10738  case 46:
10739    // ST3i16_POST
10740    printPostIncOperand<6>(MI, 4, STI, O);
10741    return;
10742    break;
10743  case 47:
10744    // ST3i32_POST
10745    printPostIncOperand<12>(MI, 4, STI, O);
10746    return;
10747    break;
10748  case 48:
10749    // ST3i64_POST
10750    printPostIncOperand<24>(MI, 4, STI, O);
10751    return;
10752    break;
10753  case 49:
10754    // ST3i8_POST
10755    printPostIncOperand<3>(MI, 4, STI, O);
10756    return;
10757    break;
10758  case 50:
10759    // ST4i64_POST
10760    printPostIncOperand<32>(MI, 4, STI, O);
10761    return;
10762    break;
10763  case 51:
10764    // SYSxt
10765    printSysCROperand(MI, 1, STI, O);
10766    O << ", ";
10767    printSysCROperand(MI, 2, STI, O);
10768    O << ", ";
10769    printOperand(MI, 3, STI, O);
10770    O << ", ";
10771    printOperand(MI, 4, STI, O);
10772    return;
10773    break;
10774  case 52:
10775    // TBL_ZZZ_B
10776    printTypedVectorList<0,'b'>(MI, 1, STI, O);
10777    O << ", ";
10778    printSVERegOp<'b'>(MI, 2, STI, O);
10779    return;
10780    break;
10781  case 53:
10782    // TBL_ZZZ_D
10783    printTypedVectorList<0,'d'>(MI, 1, STI, O);
10784    O << ", ";
10785    printSVERegOp<'d'>(MI, 2, STI, O);
10786    return;
10787    break;
10788  case 54:
10789    // TBL_ZZZ_S
10790    printTypedVectorList<0,'s'>(MI, 1, STI, O);
10791    O << ", ";
10792    printSVERegOp<'s'>(MI, 2, STI, O);
10793    return;
10794    break;
10795  case 55:
10796    // TBLv16i8Four, TBLv16i8One, TBLv16i8Three, TBLv16i8Two, TBLv8i8Four, TB...
10797    printTypedVectorList<16, 'b'>(MI, 1, STI, O);
10798    O << ", ";
10799    printVRegOperand(MI, 2, STI, O);
10800    break;
10801  case 56:
10802    // TBXv16i8Four, TBXv16i8One, TBXv16i8Three, TBXv16i8Two, TBXv8i8Four, TB...
10803    printTypedVectorList<16, 'b'>(MI, 2, STI, O);
10804    O << ", ";
10805    printVRegOperand(MI, 3, STI, O);
10806    break;
10807  }
10808
10809
10810  // Fragment 3 encoded into 7 bits for 91 unique commands.
10811  switch ((Bits >> 31) & 127) {
10812  default: llvm_unreachable("Invalid command number.");
10813  case 0:
10814    // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, ADD_ZPmZ_B, ADD_ZPmZ_D, ADD_ZPmZ_S...
10815    O << "/m, ";
10816    break;
10817  case 1:
10818    // ABS_ZPmZ_H, CLS_ZPmZ_H, CLZ_ZPmZ_H, CNOT_ZPmZ_H, CNT_ZPmZ_H, FABS_ZPmZ...
10819    printSVERegOp<'h'>(MI, 3, STI, O);
10820    break;
10821  case 2:
10822    // ABSv16i8, ADDVv16i8v, AESDrr, AESErr, AESIMCrr, AESMCrr, CLSv16i8, CLZ...
10823    O << ".16b";
10824    return;
10825    break;
10826  case 3:
10827    // ABSv1i64, ADR, AUTDA, AUTDB, AUTIA, AUTIB, BLRAA, BLRAB, BRAA, BRAB, C...
10828    return;
10829    break;
10830  case 4:
10831    // ABSv2i32, CLSv2i32, CLZv2i32, FABSv2f32, FADDPv2i32p, FCVTASv2f32, FCV...
10832    O << ".2s";
10833    return;
10834    break;
10835  case 5:
10836    // ABSv2i64, ADDPv2i64p, FABSv2f64, FADDPv2i64p, FCVTASv2f64, FCVTAUv2f64...
10837    O << ".2d";
10838    return;
10839    break;
10840  case 6:
10841    // ABSv4i16, ADDVv4i16v, CLSv4i16, CLZv4i16, FABSv4f16, FCVTASv4f16, FCVT...
10842    O << ".4h";
10843    return;
10844    break;
10845  case 7:
10846    // ABSv4i32, ADDVv4i32v, CLSv4i32, CLZv4i32, FABSv4f32, FCVTASv4f32, FCVT...
10847    O << ".4s";
10848    return;
10849    break;
10850  case 8:
10851    // ABSv8i16, ADDVv8i16v, CLSv8i16, CLZv8i16, FABSv8f16, FCVTASv8f16, FCVT...
10852    O << ".8h";
10853    return;
10854    break;
10855  case 9:
10856    // ABSv8i8, ADDVv8i8v, CLSv8i8, CLZv8i8, CNTv8i8, NEGv8i8, NOTv8i8, RBITv...
10857    O << ".8b";
10858    return;
10859    break;
10860  case 10:
10861    // ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDSWri, ADDSWrs, ADDSWrx, AD...
10862    O << ", ";
10863    break;
10864  case 11:
10865    // ADDHNv2i64_v2i32, ADDHNv2i64_v4i32, ADDPv2i64, ADDv2i64, CMEQv2i64, CM...
10866    O << ".2d, ";
10867    break;
10868  case 12:
10869    // ADDHNv4i32_v4i16, ADDHNv4i32_v8i16, ADDPv4i32, ADDv4i32, CMEQv4i32, CM...
10870    O << ".4s, ";
10871    break;
10872  case 13:
10873    // ADDHNv8i16_v16i8, ADDHNv8i16_v8i8, ADDPv8i16, ADDv8i16, CMEQv8i16, CMG...
10874    O << ".8h, ";
10875    break;
10876  case 14:
10877    // ADDPv16i8, ADDv16i8, ANDv16i8, BCAX, BICv16i8, BIFv16i8, BITv16i8, BSL...
10878    O << ".16b, ";
10879    break;
10880  case 15:
10881    // ADDPv2i32, ADDv2i32, CMEQv2i32, CMGEv2i32, CMGTv2i32, CMHIv2i32, CMHSv...
10882    O << ".2s, ";
10883    break;
10884  case 16:
10885    // ADDPv4i16, ADDv4i16, CMEQv4i16, CMGEv4i16, CMGTv4i16, CMHIv4i16, CMHSv...
10886    O << ".4h, ";
10887    break;
10888  case 17:
10889    // ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8, BITv8i8, BSLv8i8, CMEQv8...
10890    O << ".8b, ";
10891    break;
10892  case 18:
10893    // ADD_ZI_H, SQADD_ZI_H, SQSUB_ZI_H, SUBR_ZI_H, SUB_ZI_H, UQADD_ZI_H, UQS...
10894    printImm8OptLsl<uint16_t>(MI, 2, STI, O);
10895    return;
10896    break;
10897  case 19:
10898    // ADD_ZPmZ_H, ADD_ZZZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE_...
10899    printSVERegOp<'h'>(MI, 2, STI, O);
10900    break;
10901  case 20:
10902    // ANDS_PPzPP, AND_PPzPP, BICS_PPzPP, BIC_PPzPP, BRKAS_PPzP, BRKA_PPzP, B...
10903    O << "/z, ";
10904    break;
10905  case 21:
10906    // ASR_WIDE_ZZZ_H, LSL_WIDE_ZZZ_H, LSR_WIDE_ZZZ_H
10907    printSVERegOp<'d'>(MI, 2, STI, O);
10908    return;
10909    break;
10910  case 22:
10911    // ASR_ZZI_H, INDEX_II_H, INDEX_IR_H, INDEX_RI_H, INDEX_RR_H, LSL_ZZI_H, ...
10912    printOperand(MI, 2, STI, O);
10913    return;
10914    break;
10915  case 23:
10916    // CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, CASAX, CASB, CASH...
10917    O << ", [";
10918    break;
10919  case 24:
10920    // CMEQv16i8rz, CMGEv16i8rz, CMGTv16i8rz, CMLEv16i8rz, CMLTv16i8rz
10921    O << ".16b, #0";
10922    return;
10923    break;
10924  case 25:
10925    // CMEQv1i64rz, CMGEv1i64rz, CMGTv1i64rz, CMLEv1i64rz, CMLTv1i64rz
10926    O << ", #0";
10927    return;
10928    break;
10929  case 26:
10930    // CMEQv2i32rz, CMGEv2i32rz, CMGTv2i32rz, CMLEv2i32rz, CMLTv2i32rz
10931    O << ".2s, #0";
10932    return;
10933    break;
10934  case 27:
10935    // CMEQv2i64rz, CMGEv2i64rz, CMGTv2i64rz, CMLEv2i64rz, CMLTv2i64rz
10936    O << ".2d, #0";
10937    return;
10938    break;
10939  case 28:
10940    // CMEQv4i16rz, CMGEv4i16rz, CMGTv4i16rz, CMLEv4i16rz, CMLTv4i16rz
10941    O << ".4h, #0";
10942    return;
10943    break;
10944  case 29:
10945    // CMEQv4i32rz, CMGEv4i32rz, CMGTv4i32rz, CMLEv4i32rz, CMLTv4i32rz
10946    O << ".4s, #0";
10947    return;
10948    break;
10949  case 30:
10950    // CMEQv8i16rz, CMGEv8i16rz, CMGTv8i16rz, CMLEv8i16rz, CMLTv8i16rz
10951    O << ".8h, #0";
10952    return;
10953    break;
10954  case 31:
10955    // CMEQv8i8rz, CMGEv8i8rz, CMGTv8i8rz, CMLEv8i8rz, CMLTv8i8rz
10956    O << ".8b, #0";
10957    return;
10958    break;
10959  case 32:
10960    // CNTB_XPiI, CNTD_XPiI, CNTH_XPiI, CNTW_XPiI
10961    O << ", mul ";
10962    printOperand(MI, 2, STI, O);
10963    return;
10964    break;
10965  case 33:
10966    // CPY_ZPmI_H
10967    printImm8OptLsl<int16_t>(MI, 3, STI, O);
10968    return;
10969    break;
10970  case 34:
10971    // CPY_ZPmR_H, CPY_ZPmV_H, GLD1B_D_IMM_REAL, GLD1B_S_IMM_REAL, GLD1SB_D_I...
10972    printOperand(MI, 3, STI, O);
10973    break;
10974  case 35:
10975    // CPY_ZPzI_H
10976    printImm8OptLsl<int16_t>(MI, 2, STI, O);
10977    return;
10978    break;
10979  case 36:
10980    // CPYi16, DUPv4i16lane, DUPv8i16lane, INSvi16lane, SMOVvi16to32, SMOVvi1...
10981    O << ".h";
10982    break;
10983  case 37:
10984    // CPYi32, DUPv2i32lane, DUPv4i32lane, INSvi32lane, SMOVvi32to64, UMOVvi3...
10985    O << ".s";
10986    break;
10987  case 38:
10988    // CPYi64, DUPv2i64lane, FMOVDXHighr, INSvi64lane, UMOVvi64
10989    O << ".d";
10990    break;
10991  case 39:
10992    // CPYi8, DUPv16i8lane, DUPv8i8lane, INSvi8lane, SMOVvi8to32, SMOVvi8to64...
10993    O << ".b";
10994    break;
10995  case 40:
10996    // DUP_ZZI_B, DUP_ZZI_D, DUP_ZZI_S
10997    printVectorIndex(MI, 2, STI, O);
10998    return;
10999    break;
11000  case 41:
11001    // FADDPv2i16p, FMAXNMPv2i16p, FMAXPv2i16p, FMINNMPv2i16p, FMINPv2i16p
11002    O << ".2h";
11003    return;
11004    break;
11005  case 42:
11006    // FCMEQv1i16rz, FCMEQv1i32rz, FCMEQv1i64rz, FCMGEv1i16rz, FCMGEv1i32rz, ...
11007    O << ", #0.0";
11008    return;
11009    break;
11010  case 43:
11011    // FCMEQv2i32rz, FCMGEv2i32rz, FCMGTv2i32rz, FCMLEv2i32rz, FCMLTv2i32rz
11012    O << ".2s, #0.0";
11013    return;
11014    break;
11015  case 44:
11016    // FCMEQv2i64rz, FCMGEv2i64rz, FCMGTv2i64rz, FCMLEv2i64rz, FCMLTv2i64rz
11017    O << ".2d, #0.0";
11018    return;
11019    break;
11020  case 45:
11021    // FCMEQv4i16rz, FCMGEv4i16rz, FCMGTv4i16rz, FCMLEv4i16rz, FCMLTv4i16rz
11022    O << ".4h, #0.0";
11023    return;
11024    break;
11025  case 46:
11026    // FCMEQv4i32rz, FCMGEv4i32rz, FCMGTv4i32rz, FCMLEv4i32rz, FCMLTv4i32rz
11027    O << ".4s, #0.0";
11028    return;
11029    break;
11030  case 47:
11031    // FCMEQv8i16rz, FCMGEv8i16rz, FCMGTv8i16rz, FCMLEv8i16rz, FCMLTv8i16rz
11032    O << ".8h, #0.0";
11033    return;
11034    break;
11035  case 48:
11036    // FCMLA_ZZZI_H
11037    printComplexRotationOp<90, 0>(MI, 5, STI, O);
11038    return;
11039    break;
11040  case 49:
11041    // FCMLA_ZZZI_S, FCVT_ZPmZ_StoH, FMLA_ZZZI_S, FMLS_ZZZI_S, SCVTF_ZPmZ_Sto...
11042    printSVERegOp<'s'>(MI, 3, STI, O);
11043    break;
11044  case 50:
11045    // FCPY_ZPmI_H
11046    printFPImmOperand(MI, 3, STI, O);
11047    return;
11048    break;
11049  case 51:
11050    // FCVT_ZPmZ_DtoH, FMLA_ZZZI_D, FMLS_ZZZI_D, SCVTF_ZPmZ_DtoH, UCVTF_ZPmZ_...
11051    printSVERegOp<'d'>(MI, 3, STI, O);
11052    break;
11053  case 52:
11054    // GLD1D_IMM_REAL, GLDFF1D_IMM_REAL, SST1D_IMM
11055    printImmScale<8>(MI, 3, STI, O);
11056    O << ']';
11057    return;
11058    break;
11059  case 53:
11060    // GLD1H_D_IMM_REAL, GLD1H_S_IMM_REAL, GLD1SH_D_IMM_REAL, GLD1SH_S_IMM_RE...
11061    printImmScale<2>(MI, 3, STI, O);
11062    O << ']';
11063    return;
11064    break;
11065  case 54:
11066    // GLD1SW_D_IMM_REAL, GLD1W_D_IMM_REAL, GLD1W_IMM_REAL, GLDFF1SW_D_IMM_RE...
11067    printImmScale<4>(MI, 3, STI, O);
11068    O << ']';
11069    return;
11070    break;
11071  case 55:
11072    // LDAPRB, LDAPRH, LDAPRW, LDAPRX, LDARB, LDARH, LDARW, LDARX, LDAXRB, LD...
11073    O << ']';
11074    return;
11075    break;
11076  case 56:
11077    // LDRBBpost, LDRBpost, LDRDpost, LDRHHpost, LDRHpost, LDRQpost, LDRSBWpo...
11078    O << "], ";
11079    printOperand(MI, 3, STI, O);
11080    return;
11081    break;
11082  case 57:
11083    // MOVIv2i32, MOVIv2s_msl, MOVIv4i16, MOVIv4i32, MOVIv4s_msl, MOVIv8i16, ...
11084    printShifter(MI, 2, STI, O);
11085    return;
11086    break;
11087  case 58:
11088    // PRFB_D_SCALED
11089    printRegWithShiftExtend<false, 8, 'x', 'd'>(MI, 3, STI, O);
11090    O << ']';
11091    return;
11092    break;
11093  case 59:
11094    // PRFB_D_SXTW_SCALED
11095    printRegWithShiftExtend<true, 8, 'w', 'd'>(MI, 3, STI, O);
11096    O << ']';
11097    return;
11098    break;
11099  case 60:
11100    // PRFB_D_UXTW_SCALED
11101    printRegWithShiftExtend<false, 8, 'w', 'd'>(MI, 3, STI, O);
11102    O << ']';
11103    return;
11104    break;
11105  case 61:
11106    // PRFB_PRR
11107    printRegWithShiftExtend<false, 8, 'x', 0>(MI, 3, STI, O);
11108    O << ']';
11109    return;
11110    break;
11111  case 62:
11112    // PRFB_S_SXTW_SCALED
11113    printRegWithShiftExtend<true, 8, 'w', 's'>(MI, 3, STI, O);
11114    O << ']';
11115    return;
11116    break;
11117  case 63:
11118    // PRFB_S_UXTW_SCALED
11119    printRegWithShiftExtend<false, 8, 'w', 's'>(MI, 3, STI, O);
11120    O << ']';
11121    return;
11122    break;
11123  case 64:
11124    // PRFD_D_SCALED
11125    printRegWithShiftExtend<false, 64, 'x', 'd'>(MI, 3, STI, O);
11126    O << ']';
11127    return;
11128    break;
11129  case 65:
11130    // PRFD_D_SXTW_SCALED
11131    printRegWithShiftExtend<true, 64, 'w', 'd'>(MI, 3, STI, O);
11132    O << ']';
11133    return;
11134    break;
11135  case 66:
11136    // PRFD_D_UXTW_SCALED
11137    printRegWithShiftExtend<false, 64, 'w', 'd'>(MI, 3, STI, O);
11138    O << ']';
11139    return;
11140    break;
11141  case 67:
11142    // PRFD_PRR
11143    printRegWithShiftExtend<false, 64, 'x', 0>(MI, 3, STI, O);
11144    O << ']';
11145    return;
11146    break;
11147  case 68:
11148    // PRFD_S_SXTW_SCALED
11149    printRegWithShiftExtend<true, 64, 'w', 's'>(MI, 3, STI, O);
11150    O << ']';
11151    return;
11152    break;
11153  case 69:
11154    // PRFD_S_UXTW_SCALED
11155    printRegWithShiftExtend<false, 64, 'w', 's'>(MI, 3, STI, O);
11156    O << ']';
11157    return;
11158    break;
11159  case 70:
11160    // PRFH_D_SCALED
11161    printRegWithShiftExtend<false, 16, 'x', 'd'>(MI, 3, STI, O);
11162    O << ']';
11163    return;
11164    break;
11165  case 71:
11166    // PRFH_D_SXTW_SCALED
11167    printRegWithShiftExtend<true, 16, 'w', 'd'>(MI, 3, STI, O);
11168    O << ']';
11169    return;
11170    break;
11171  case 72:
11172    // PRFH_D_UXTW_SCALED
11173    printRegWithShiftExtend<false, 16, 'w', 'd'>(MI, 3, STI, O);
11174    O << ']';
11175    return;
11176    break;
11177  case 73:
11178    // PRFH_PRR
11179    printRegWithShiftExtend<false, 16, 'x', 0>(MI, 3, STI, O);
11180    O << ']';
11181    return;
11182    break;
11183  case 74:
11184    // PRFH_S_SXTW_SCALED
11185    printRegWithShiftExtend<true, 16, 'w', 's'>(MI, 3, STI, O);
11186    O << ']';
11187    return;
11188    break;
11189  case 75:
11190    // PRFH_S_UXTW_SCALED
11191    printRegWithShiftExtend<false, 16, 'w', 's'>(MI, 3, STI, O);
11192    O << ']';
11193    return;
11194    break;
11195  case 76:
11196    // PRFS_PRR
11197    printRegWithShiftExtend<false, 32, 'x', 0>(MI, 3, STI, O);
11198    O << ']';
11199    return;
11200    break;
11201  case 77:
11202    // PRFW_D_SCALED
11203    printRegWithShiftExtend<false, 32, 'x', 'd'>(MI, 3, STI, O);
11204    O << ']';
11205    return;
11206    break;
11207  case 78:
11208    // PRFW_D_SXTW_SCALED
11209    printRegWithShiftExtend<true, 32, 'w', 'd'>(MI, 3, STI, O);
11210    O << ']';
11211    return;
11212    break;
11213  case 79:
11214    // PRFW_D_UXTW_SCALED
11215    printRegWithShiftExtend<false, 32, 'w', 'd'>(MI, 3, STI, O);
11216    O << ']';
11217    return;
11218    break;
11219  case 80:
11220    // PRFW_S_SXTW_SCALED
11221    printRegWithShiftExtend<true, 32, 'w', 's'>(MI, 3, STI, O);
11222    O << ']';
11223    return;
11224    break;
11225  case 81:
11226    // PRFW_S_UXTW_SCALED
11227    printRegWithShiftExtend<false, 32, 'w', 's'>(MI, 3, STI, O);
11228    O << ']';
11229    return;
11230    break;
11231  case 82:
11232    // RDFFRS_PPz, RDFFR_PPz
11233    O << "/z";
11234    return;
11235    break;
11236  case 83:
11237    // SDOT_ZZZI_D, SDOT_ZZZI_S, UDOT_ZZZI_D, UDOT_ZZZI_S
11238    printVectorIndex(MI, 4, STI, O);
11239    return;
11240    break;
11241  case 84:
11242    // SHLLv16i8
11243    O << ".16b, #8";
11244    return;
11245    break;
11246  case 85:
11247    // SHLLv2i32
11248    O << ".2s, #32";
11249    return;
11250    break;
11251  case 86:
11252    // SHLLv4i16
11253    O << ".4h, #16";
11254    return;
11255    break;
11256  case 87:
11257    // SHLLv4i32
11258    O << ".4s, #32";
11259    return;
11260    break;
11261  case 88:
11262    // SHLLv8i16
11263    O << ".8h, #16";
11264    return;
11265    break;
11266  case 89:
11267    // SHLLv8i8
11268    O << ".8b, #8";
11269    return;
11270    break;
11271  case 90:
11272    // UMAX_ZI_H, UMIN_ZI_H
11273    printImm(MI, 2, STI, O);
11274    return;
11275    break;
11276  }
11277
11278
11279  // Fragment 4 encoded into 7 bits for 88 unique commands.
11280  switch ((Bits >> 38) & 127) {
11281  default: llvm_unreachable("Invalid command number.");
11282  case 0:
11283    // ABS_ZPmZ_B, BRKA_PPmP, BRKB_PPmP, CLS_ZPmZ_B, CLZ_ZPmZ_B, CNOT_ZPmZ_B,...
11284    printSVERegOp<'b'>(MI, 3, STI, O);
11285    break;
11286  case 1:
11287    // ABS_ZPmZ_D, CLS_ZPmZ_D, CLZ_ZPmZ_D, CNOT_ZPmZ_D, CNT_ZPmZ_D, FABS_ZPmZ...
11288    printSVERegOp<'d'>(MI, 3, STI, O);
11289    break;
11290  case 2:
11291    // ABS_ZPmZ_H, ADD_ZZZ_H, CLS_ZPmZ_H, CLZ_ZPmZ_H, CNOT_ZPmZ_H, CNT_ZPmZ_H...
11292    return;
11293    break;
11294  case 3:
11295    // ABS_ZPmZ_S, CLS_ZPmZ_S, CLZ_ZPmZ_S, CNOT_ZPmZ_S, CNT_ZPmZ_S, FABS_ZPmZ...
11296    printSVERegOp<'s'>(MI, 3, STI, O);
11297    break;
11298  case 4:
11299    // ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPL_XXI, ADDSXrx64, ADDVL_XXI, ADDXrx6...
11300    printOperand(MI, 2, STI, O);
11301    break;
11302  case 5:
11303    // ADDHNv2i64_v2i32, ADDHNv4i32_v4i16, ADDHNv8i16_v8i8, ADDPv16i8, ADDPv2...
11304    printVRegOperand(MI, 2, STI, O);
11305    break;
11306  case 6:
11307    // ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, BITv16i8, BITv8i...
11308    printVRegOperand(MI, 3, STI, O);
11309    break;
11310  case 7:
11311    // ADDSWri, ADDSXri, ADDWri, ADDXri, SUBSWri, SUBSXri, SUBWri, SUBXri
11312    printAddSubImm(MI, 2, STI, O);
11313    return;
11314    break;
11315  case 8:
11316    // ADDSWrs, ADDSXrs, ADDWrs, ADDXrs, ANDSWrs, ANDSXrs, ANDWrs, ANDXrs, BI...
11317    printShiftedRegister(MI, 2, STI, O);
11318    return;
11319    break;
11320  case 9:
11321    // ADDSWrx, ADDSXrx, ADDWrx, ADDXrx, SUBSWrx, SUBSXrx, SUBWrx, SUBXrx
11322    printExtendedRegister(MI, 2, STI, O);
11323    return;
11324    break;
11325  case 10:
11326    // ADD_ZI_B, SQADD_ZI_B, SQSUB_ZI_B, SUBR_ZI_B, SUB_ZI_B, UQADD_ZI_B, UQS...
11327    printImm8OptLsl<uint8_t>(MI, 2, STI, O);
11328    return;
11329    break;
11330  case 11:
11331    // ADD_ZI_D, SQADD_ZI_D, SQSUB_ZI_D, SUBR_ZI_D, SUB_ZI_D, UQADD_ZI_D, UQS...
11332    printImm8OptLsl<uint64_t>(MI, 2, STI, O);
11333    return;
11334    break;
11335  case 12:
11336    // ADD_ZI_S, SQADD_ZI_S, SQSUB_ZI_S, SUBR_ZI_S, SUB_ZI_S, UQADD_ZI_S, UQS...
11337    printImm8OptLsl<uint32_t>(MI, 2, STI, O);
11338    return;
11339    break;
11340  case 13:
11341    // ADD_ZPmZ_B, ADD_ZZZ_B, ANDS_PPzPP, ANDV_VPZ_B, AND_PPzPP, AND_ZPmZ_B, ...
11342    printSVERegOp<'b'>(MI, 2, STI, O);
11343    break;
11344  case 14:
11345    // ADD_ZPmZ_D, ADD_ZZZ_D, ANDV_VPZ_D, AND_ZPmZ_D, AND_ZZZ, ASRD_ZPmI_D, A...
11346    printSVERegOp<'d'>(MI, 2, STI, O);
11347    break;
11348  case 15:
11349    // ADD_ZPmZ_H, AND_ZPmZ_H, ASRD_ZPmI_H, ASRR_ZPmZ_H, ASR_WIDE_ZPmZ_H, ASR...
11350    O << ", ";
11351    break;
11352  case 16:
11353    // ADD_ZPmZ_S, ADD_ZZZ_S, ANDV_VPZ_S, AND_ZPmZ_S, ASRD_ZPmI_S, ASRR_ZPmZ_...
11354    printSVERegOp<'s'>(MI, 2, STI, O);
11355    break;
11356  case 17:
11357    // ADR_LSL_ZZZ_D_0
11358    printRegWithShiftExtend<false, 8, 'x', 'd'>(MI, 2, STI, O);
11359    O << ']';
11360    return;
11361    break;
11362  case 18:
11363    // ADR_LSL_ZZZ_D_1
11364    printRegWithShiftExtend<false, 16, 'x', 'd'>(MI, 2, STI, O);
11365    O << ']';
11366    return;
11367    break;
11368  case 19:
11369    // ADR_LSL_ZZZ_D_2
11370    printRegWithShiftExtend<false, 32, 'x', 'd'>(MI, 2, STI, O);
11371    O << ']';
11372    return;
11373    break;
11374  case 20:
11375    // ADR_LSL_ZZZ_D_3
11376    printRegWithShiftExtend<false, 64, 'x', 'd'>(MI, 2, STI, O);
11377    O << ']';
11378    return;
11379    break;
11380  case 21:
11381    // ADR_LSL_ZZZ_S_0
11382    printRegWithShiftExtend<false, 8, 'x', 's'>(MI, 2, STI, O);
11383    O << ']';
11384    return;
11385    break;
11386  case 22:
11387    // ADR_LSL_ZZZ_S_1
11388    printRegWithShiftExtend<false, 16, 'x', 's'>(MI, 2, STI, O);
11389    O << ']';
11390    return;
11391    break;
11392  case 23:
11393    // ADR_LSL_ZZZ_S_2
11394    printRegWithShiftExtend<false, 32, 'x', 's'>(MI, 2, STI, O);
11395    O << ']';
11396    return;
11397    break;
11398  case 24:
11399    // ADR_LSL_ZZZ_S_3
11400    printRegWithShiftExtend<false, 64, 'x', 's'>(MI, 2, STI, O);
11401    O << ']';
11402    return;
11403    break;
11404  case 25:
11405    // ADR_SXTW_ZZZ_D_0
11406    printRegWithShiftExtend<true, 8, 'w', 'd'>(MI, 2, STI, O);
11407    O << ']';
11408    return;
11409    break;
11410  case 26:
11411    // ADR_SXTW_ZZZ_D_1
11412    printRegWithShiftExtend<true, 16, 'w', 'd'>(MI, 2, STI, O);
11413    O << ']';
11414    return;
11415    break;
11416  case 27:
11417    // ADR_SXTW_ZZZ_D_2
11418    printRegWithShiftExtend<true, 32, 'w', 'd'>(MI, 2, STI, O);
11419    O << ']';
11420    return;
11421    break;
11422  case 28:
11423    // ADR_SXTW_ZZZ_D_3
11424    printRegWithShiftExtend<true, 64, 'w', 'd'>(MI, 2, STI, O);
11425    O << ']';
11426    return;
11427    break;
11428  case 29:
11429    // ADR_UXTW_ZZZ_D_0
11430    printRegWithShiftExtend<false, 8, 'w', 'd'>(MI, 2, STI, O);
11431    O << ']';
11432    return;
11433    break;
11434  case 30:
11435    // ADR_UXTW_ZZZ_D_1
11436    printRegWithShiftExtend<false, 16, 'w', 'd'>(MI, 2, STI, O);
11437    O << ']';
11438    return;
11439    break;
11440  case 31:
11441    // ADR_UXTW_ZZZ_D_2
11442    printRegWithShiftExtend<false, 32, 'w', 'd'>(MI, 2, STI, O);
11443    O << ']';
11444    return;
11445    break;
11446  case 32:
11447    // ADR_UXTW_ZZZ_D_3
11448    printRegWithShiftExtend<false, 64, 'w', 'd'>(MI, 2, STI, O);
11449    O << ']';
11450    return;
11451    break;
11452  case 33:
11453    // ANDSWri, ANDWri, EORWri, ORRWri
11454    printLogicalImm<int32_t>(MI, 2, STI, O);
11455    return;
11456    break;
11457  case 34:
11458    // ANDSXri, ANDXri, AND_ZI, EORXri, EOR_ZI, ORRXri, ORR_ZI
11459    printLogicalImm<int64_t>(MI, 2, STI, O);
11460    return;
11461    break;
11462  case 35:
11463    // ANDV_VPZ_H, CNTP_XPP_H, EORV_VPZ_H, FADDV_VPZ_H, FMAXNMV_VPZ_H, FMAXV_...
11464    printSVERegOp<'h'>(MI, 2, STI, O);
11465    return;
11466    break;
11467  case 36:
11468    // BFMWri, BFMXri, CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, C...
11469    printOperand(MI, 3, STI, O);
11470    break;
11471  case 37:
11472    // CPY_ZPmI_B
11473    printImm8OptLsl<int8_t>(MI, 3, STI, O);
11474    return;
11475    break;
11476  case 38:
11477    // CPY_ZPmI_D
11478    printImm8OptLsl<int64_t>(MI, 3, STI, O);
11479    return;
11480    break;
11481  case 39:
11482    // CPY_ZPmI_S
11483    printImm8OptLsl<int32_t>(MI, 3, STI, O);
11484    return;
11485    break;
11486  case 40:
11487    // CPY_ZPzI_B
11488    printImm8OptLsl<int8_t>(MI, 2, STI, O);
11489    return;
11490    break;
11491  case 41:
11492    // CPY_ZPzI_D
11493    printImm8OptLsl<int64_t>(MI, 2, STI, O);
11494    return;
11495    break;
11496  case 42:
11497    // CPY_ZPzI_S
11498    printImm8OptLsl<int32_t>(MI, 2, STI, O);
11499    return;
11500    break;
11501  case 43:
11502    // CPYi16, CPYi32, CPYi64, CPYi8, DUPv16i8lane, DUPv2i32lane, DUPv2i64lan...
11503    printVectorIndex(MI, 2, STI, O);
11504    return;
11505    break;
11506  case 44:
11507    // FCMEQ_PPzZ0_H, FCMGE_PPzZ0_H, FCMGT_PPzZ0_H, FCMLE_PPzZ0_H, FCMLT_PPzZ...
11508    O << ", #0.0";
11509    return;
11510    break;
11511  case 45:
11512    // FCMLA_ZZZI_S, FMLA_ZZZI_D, FMLA_ZZZI_S, FMLS_ZZZI_D, FMLS_ZZZI_S, INSv...
11513    printVectorIndex(MI, 4, STI, O);
11514    break;
11515  case 46:
11516    // FCPY_ZPmI_D, FCPY_ZPmI_S
11517    printFPImmOperand(MI, 3, STI, O);
11518    return;
11519    break;
11520  case 47:
11521    // FCVTZS_ZPmZ_HtoD, FCVTZS_ZPmZ_HtoS, FCVTZU_ZPmZ_HtoD, FCVTZU_ZPmZ_HtoS...
11522    printSVERegOp<'h'>(MI, 3, STI, O);
11523    return;
11524    break;
11525  case 48:
11526    // FMUL_ZZZI_H
11527    printVectorIndex(MI, 3, STI, O);
11528    return;
11529    break;
11530  case 49:
11531    // GLD1B_D_IMM_REAL, GLD1B_S_IMM_REAL, GLD1SB_D_IMM_REAL, GLD1SB_S_IMM_RE...
11532    O << ']';
11533    return;
11534    break;
11535  case 50:
11536    // GLD1B_D_REAL, GLD1D_REAL, GLD1H_D_REAL, GLD1SB_D_REAL, GLD1SH_D_REAL, ...
11537    printRegWithShiftExtend<false, 8, 'x', 'd'>(MI, 3, STI, O);
11538    O << ']';
11539    return;
11540    break;
11541  case 51:
11542    // GLD1B_D_SXTW_REAL, GLD1D_SXTW_REAL, GLD1H_D_SXTW_REAL, GLD1SB_D_SXTW_R...
11543    printRegWithShiftExtend<true, 8, 'w', 'd'>(MI, 3, STI, O);
11544    O << ']';
11545    return;
11546    break;
11547  case 52:
11548    // GLD1B_D_UXTW_REAL, GLD1D_UXTW_REAL, GLD1H_D_UXTW_REAL, GLD1SB_D_UXTW_R...
11549    printRegWithShiftExtend<false, 8, 'w', 'd'>(MI, 3, STI, O);
11550    O << ']';
11551    return;
11552    break;
11553  case 53:
11554    // GLD1B_S_SXTW_REAL, GLD1H_S_SXTW_REAL, GLD1SB_S_SXTW_REAL, GLD1SH_S_SXT...
11555    printRegWithShiftExtend<true, 8, 'w', 's'>(MI, 3, STI, O);
11556    O << ']';
11557    return;
11558    break;
11559  case 54:
11560    // GLD1B_S_UXTW_REAL, GLD1H_S_UXTW_REAL, GLD1SB_S_UXTW_REAL, GLD1SH_S_UXT...
11561    printRegWithShiftExtend<false, 8, 'w', 's'>(MI, 3, STI, O);
11562    O << ']';
11563    return;
11564    break;
11565  case 55:
11566    // GLD1D_SCALED_REAL, GLDFF1D_SCALED_REAL, SST1D_SCALED
11567    printRegWithShiftExtend<false, 64, 'x', 'd'>(MI, 3, STI, O);
11568    O << ']';
11569    return;
11570    break;
11571  case 56:
11572    // GLD1D_SXTW_SCALED_REAL, GLDFF1D_SXTW_SCALED_REAL, SST1D_SXTW_SCALED
11573    printRegWithShiftExtend<true, 64, 'w', 'd'>(MI, 3, STI, O);
11574    O << ']';
11575    return;
11576    break;
11577  case 57:
11578    // GLD1D_UXTW_SCALED_REAL, GLDFF1D_UXTW_SCALED_REAL, SST1D_UXTW_SCALED
11579    printRegWithShiftExtend<false, 64, 'w', 'd'>(MI, 3, STI, O);
11580    O << ']';
11581    return;
11582    break;
11583  case 58:
11584    // GLD1H_D_SCALED_REAL, GLD1SH_D_SCALED_REAL, GLDFF1H_D_SCALED_REAL, GLDF...
11585    printRegWithShiftExtend<false, 16, 'x', 'd'>(MI, 3, STI, O);
11586    O << ']';
11587    return;
11588    break;
11589  case 59:
11590    // GLD1H_D_SXTW_SCALED_REAL, GLD1SH_D_SXTW_SCALED_REAL, GLDFF1H_D_SXTW_SC...
11591    printRegWithShiftExtend<true, 16, 'w', 'd'>(MI, 3, STI, O);
11592    O << ']';
11593    return;
11594    break;
11595  case 60:
11596    // GLD1H_D_UXTW_SCALED_REAL, GLD1SH_D_UXTW_SCALED_REAL, GLDFF1H_D_UXTW_SC...
11597    printRegWithShiftExtend<false, 16, 'w', 'd'>(MI, 3, STI, O);
11598    O << ']';
11599    return;
11600    break;
11601  case 61:
11602    // GLD1H_S_SXTW_SCALED_REAL, GLD1SH_S_SXTW_SCALED_REAL, GLDFF1H_S_SXTW_SC...
11603    printRegWithShiftExtend<true, 16, 'w', 's'>(MI, 3, STI, O);
11604    O << ']';
11605    return;
11606    break;
11607  case 62:
11608    // GLD1H_S_UXTW_SCALED_REAL, GLD1SH_S_UXTW_SCALED_REAL, GLDFF1H_S_UXTW_SC...
11609    printRegWithShiftExtend<false, 16, 'w', 's'>(MI, 3, STI, O);
11610    O << ']';
11611    return;
11612    break;
11613  case 63:
11614    // GLD1SW_D_SCALED_REAL, GLD1W_D_SCALED_REAL, GLDFF1SW_D_SCALED_REAL, GLD...
11615    printRegWithShiftExtend<false, 32, 'x', 'd'>(MI, 3, STI, O);
11616    O << ']';
11617    return;
11618    break;
11619  case 64:
11620    // GLD1SW_D_SXTW_SCALED_REAL, GLD1W_D_SXTW_SCALED_REAL, GLDFF1SW_D_SXTW_S...
11621    printRegWithShiftExtend<true, 32, 'w', 'd'>(MI, 3, STI, O);
11622    O << ']';
11623    return;
11624    break;
11625  case 65:
11626    // GLD1SW_D_UXTW_SCALED_REAL, GLD1W_D_UXTW_SCALED_REAL, GLDFF1SW_D_UXTW_S...
11627    printRegWithShiftExtend<false, 32, 'w', 'd'>(MI, 3, STI, O);
11628    O << ']';
11629    return;
11630    break;
11631  case 66:
11632    // GLD1W_SXTW_SCALED_REAL, GLDFF1W_SXTW_SCALED_REAL, SST1W_SXTW_SCALED
11633    printRegWithShiftExtend<true, 32, 'w', 's'>(MI, 3, STI, O);
11634    O << ']';
11635    return;
11636    break;
11637  case 67:
11638    // GLD1W_UXTW_SCALED_REAL, GLDFF1W_UXTW_SCALED_REAL, SST1W_UXTW_SCALED
11639    printRegWithShiftExtend<false, 32, 'w', 's'>(MI, 3, STI, O);
11640    O << ']';
11641    return;
11642    break;
11643  case 68:
11644    // LD1B, LD1B_D, LD1B_H, LD1B_S, LD1RQ_B, LD1SB_D, LD1SB_H, LD1SB_S, LD2B...
11645    printRegWithShiftExtend<false, 8, 'x', 0>(MI, 3, STI, O);
11646    O << ']';
11647    return;
11648    break;
11649  case 69:
11650    // LD1D, LD1RQ_D, LD2D, LD3D, LD4D, LDFF1D_REAL, LDNT1D_ZRR, ST1D, ST2D, ...
11651    printRegWithShiftExtend<false, 64, 'x', 0>(MI, 3, STI, O);
11652    O << ']';
11653    return;
11654    break;
11655  case 70:
11656    // LD1H, LD1H_D, LD1H_S, LD1RQ_H, LD1SH_D, LD1SH_S, LD2H, LD3H, LD4H, LDF...
11657    printRegWithShiftExtend<false, 16, 'x', 0>(MI, 3, STI, O);
11658    O << ']';
11659    return;
11660    break;
11661  case 71:
11662    // LD1RD_IMM, LDRAAwriteback, LDRABwriteback
11663    printImmScale<8>(MI, 3, STI, O);
11664    break;
11665  case 72:
11666    // LD1RH_D_IMM, LD1RH_IMM, LD1RH_S_IMM, LD1RSH_D_IMM, LD1RSH_S_IMM, LD2B_...
11667    printImmScale<2>(MI, 3, STI, O);
11668    break;
11669  case 73:
11670    // LD1RQ_B_IMM, LD1RQ_D_IMM, LD1RQ_H_IMM, LD1RQ_W_IMM
11671    printImmScale<16>(MI, 3, STI, O);
11672    O << ']';
11673    return;
11674    break;
11675  case 74:
11676    // LD1RQ_W, LD1SW_D, LD1W, LD1W_D, LD2W, LD3W, LD4W, LDFF1SW_D_REAL, LDFF...
11677    printRegWithShiftExtend<false, 32, 'x', 0>(MI, 3, STI, O);
11678    O << ']';
11679    return;
11680    break;
11681  case 75:
11682    // LD1RSW_IMM, LD1RW_D_IMM, LD1RW_IMM, LD4B_IMM, LD4D_IMM, LD4H_IMM, LD4W...
11683    printImmScale<4>(MI, 3, STI, O);
11684    break;
11685  case 76:
11686    // LD3B_IMM, LD3D_IMM, LD3H_IMM, LD3W_IMM, ST3B_IMM, ST3D_IMM, ST3H_IMM, ...
11687    printImmScale<3>(MI, 3, STI, O);
11688    O << ", mul vl]";
11689    return;
11690    break;
11691  case 77:
11692    // LDRAAindexed, LDRABindexed
11693    printImmScale<8>(MI, 2, STI, O);
11694    O << ']';
11695    return;
11696    break;
11697  case 78:
11698    // LDRBBui, LDRBui, LDRSBWui, LDRSBXui, STRBBui, STRBui
11699    printUImm12Offset<1>(MI, 2, STI, O);
11700    O << ']';
11701    return;
11702    break;
11703  case 79:
11704    // LDRDui, LDRXui, PRFMui, STRDui, STRXui
11705    printUImm12Offset<8>(MI, 2, STI, O);
11706    O << ']';
11707    return;
11708    break;
11709  case 80:
11710    // LDRHHui, LDRHui, LDRSHWui, LDRSHXui, STRHHui, STRHui
11711    printUImm12Offset<2>(MI, 2, STI, O);
11712    O << ']';
11713    return;
11714    break;
11715  case 81:
11716    // LDRQui, STRQui
11717    printUImm12Offset<16>(MI, 2, STI, O);
11718    O << ']';
11719    return;
11720    break;
11721  case 82:
11722    // LDRSWui, LDRSui, LDRWui, STRSui, STRWui
11723    printUImm12Offset<4>(MI, 2, STI, O);
11724    O << ']';
11725    return;
11726    break;
11727  case 83:
11728    // PRFB_PRI, PRFD_PRI, PRFH_PRI, PRFW_PRI
11729    O << ", mul vl]";
11730    return;
11731    break;
11732  case 84:
11733    // SQDECP_XPWd_B, SQDECP_XPWd_D, SQDECP_XPWd_H, SQDECP_XPWd_S, SQINCP_XPW...
11734    printGPR64as32(MI, 2, STI, O);
11735    return;
11736    break;
11737  case 85:
11738    // SYSLxt
11739    printSysCROperand(MI, 2, STI, O);
11740    O << ", ";
11741    printSysCROperand(MI, 3, STI, O);
11742    O << ", ";
11743    printOperand(MI, 4, STI, O);
11744    return;
11745    break;
11746  case 86:
11747    // TBNZW, TBNZX, TBZW, TBZX
11748    printAlignedLabel(MI, 2, STI, O);
11749    return;
11750    break;
11751  case 87:
11752    // UMAX_ZI_B, UMAX_ZI_D, UMAX_ZI_S, UMIN_ZI_B, UMIN_ZI_D, UMIN_ZI_S
11753    printImm(MI, 2, STI, O);
11754    return;
11755    break;
11756  }
11757
11758
11759  // Fragment 5 encoded into 6 bits for 36 unique commands.
11760  switch ((Bits >> 45) & 63) {
11761  default: llvm_unreachable("Invalid command number.");
11762  case 0:
11763    // ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_S, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDP...
11764    return;
11765    break;
11766  case 1:
11767    // ADDHNv2i64_v2i32, ADDHNv2i64_v4i32, ADDPv2i64, ADDv2i64, CMEQv2i64, CM...
11768    O << ".2d";
11769    return;
11770    break;
11771  case 2:
11772    // ADDHNv4i32_v4i16, ADDHNv4i32_v8i16, ADDPv4i32, ADDv4i32, CMEQv4i32, CM...
11773    O << ".4s";
11774    return;
11775    break;
11776  case 3:
11777    // ADDHNv8i16_v16i8, ADDHNv8i16_v8i8, ADDPv8i16, ADDv8i16, CMEQv8i16, CMG...
11778    O << ".8h";
11779    return;
11780    break;
11781  case 4:
11782    // ADDPv16i8, ADDv16i8, ANDv16i8, BICv16i8, BIFv16i8, BITv16i8, BSLv16i8,...
11783    O << ".16b";
11784    return;
11785    break;
11786  case 5:
11787    // ADDPv2i32, ADDv2i32, CMEQv2i32, CMGEv2i32, CMGTv2i32, CMHIv2i32, CMHSv...
11788    O << ".2s";
11789    return;
11790    break;
11791  case 6:
11792    // ADDPv4i16, ADDv4i16, CMEQv4i16, CMGEv4i16, CMGTv4i16, CMHIv4i16, CMHSv...
11793    O << ".4h";
11794    return;
11795    break;
11796  case 7:
11797    // ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8, BITv8i8, BSLv8i8, CMEQv8...
11798    O << ".8b";
11799    return;
11800    break;
11801  case 8:
11802    // ADDSXrx64, ADDXrx64, SUBSXrx64, SUBXrx64
11803    printArithExtend(MI, 3, STI, O);
11804    return;
11805    break;
11806  case 9:
11807    // ADD_ZPmZ_B, ADD_ZPmZ_D, ADD_ZPmZ_S, ANDS_PPzPP, AND_PPzPP, AND_ZPmZ_B,...
11808    O << ", ";
11809    break;
11810  case 10:
11811    // ADD_ZPmZ_H, AND_ZPmZ_H, ASRR_ZPmZ_H, ASR_ZPmZ_H, BIC_ZPmZ_H, CLASTA_ZP...
11812    printSVERegOp<'h'>(MI, 3, STI, O);
11813    break;
11814  case 11:
11815    // ASRD_ZPmI_H, ASR_ZPmI_H, CMPEQ_PPzZI_H, CMPGE_PPzZI_H, CMPGT_PPzZI_H, ...
11816    printOperand(MI, 3, STI, O);
11817    return;
11818    break;
11819  case 12:
11820    // ASR_WIDE_ZPmZ_H, CMPEQ_WIDE_PPzZZ_H, CMPGE_WIDE_PPzZZ_H, CMPGT_WIDE_PP...
11821    printSVERegOp<'d'>(MI, 3, STI, O);
11822    return;
11823    break;
11824  case 13:
11825    // BCAX, EOR3, EXTv16i8
11826    O << ".16b, ";
11827    break;
11828  case 14:
11829    // CASAB, CASAH, CASALB, CASALH, CASALW, CASALX, CASAW, CASAX, CASB, CASH...
11830    O << ']';
11831    return;
11832    break;
11833  case 15:
11834    // CMPHI_PPzZI_H, CMPHS_PPzZI_H, CMPLO_PPzZI_H, CMPLS_PPzZI_H
11835    printImm(MI, 3, STI, O);
11836    return;
11837    break;
11838  case 16:
11839    // EXTv8i8
11840    O << ".8b, ";
11841    printOperand(MI, 3, STI, O);
11842    return;
11843    break;
11844  case 17:
11845    // FADD_ZPmI_H, FSUBR_ZPmI_H, FSUB_ZPmI_H
11846    printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::one>(MI, 3, STI, O);
11847    return;
11848    break;
11849  case 18:
11850    // FCADDv2f32, FCMLAv2f32
11851    O << ".2s, ";
11852    break;
11853  case 19:
11854    // FCADDv2f64, FCMLAv2f64, XAR
11855    O << ".2d, ";
11856    break;
11857  case 20:
11858    // FCADDv4f16, FCMLAv4f16
11859    O << ".4h, ";
11860    break;
11861  case 21:
11862    // FCADDv4f32, FCMLAv4f32, SM3SS1
11863    O << ".4s, ";
11864    break;
11865  case 22:
11866    // FCADDv8f16, FCMLAv8f16
11867    O << ".8h, ";
11868    break;
11869  case 23:
11870    // FCMEQ_PPzZ0_D, FCMEQ_PPzZ0_S, FCMGE_PPzZ0_D, FCMGE_PPzZ0_S, FCMGT_PPzZ...
11871    O << ", #0.0";
11872    return;
11873    break;
11874  case 24:
11875    // FCMLA_ZPmZZ_H, FMAD_ZPmZZ_H, FMLA_ZPmZZ_H, FMLS_ZPmZZ_H, FMSB_ZPmZZ_H,...
11876    printSVERegOp<'h'>(MI, 4, STI, O);
11877    break;
11878  case 25:
11879    // FCMLAv4f16_indexed, FCMLAv8f16_indexed, FMLAv1i16_indexed, FMLAv4i16_i...
11880    O << ".h";
11881    break;
11882  case 26:
11883    // FCMLAv4f32_indexed, FMLAv1i32_indexed, FMLAv2i32_indexed, FMLAv4i32_in...
11884    O << ".s";
11885    break;
11886  case 27:
11887    // FMAXNM_ZPmI_H, FMAX_ZPmI_H, FMINNM_ZPmI_H, FMIN_ZPmI_H
11888    printExactFPImm<AArch64ExactFPImm::zero, AArch64ExactFPImm::one>(MI, 3, STI, O);
11889    return;
11890    break;
11891  case 28:
11892    // FMLAv1i64_indexed, FMLAv2i64_indexed, FMLSv1i64_indexed, FMLSv2i64_ind...
11893    O << ".d";
11894    break;
11895  case 29:
11896    // FMUL_ZPmI_H
11897    printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::two>(MI, 3, STI, O);
11898    return;
11899    break;
11900  case 30:
11901    // FMUL_ZZZI_D, FMUL_ZZZI_S
11902    printVectorIndex(MI, 3, STI, O);
11903    return;
11904    break;
11905  case 31:
11906    // LD1B_D_IMM_REAL, LD1B_H_IMM_REAL, LD1B_IMM_REAL, LD1B_S_IMM_REAL, LD1D...
11907    O << ", mul vl]";
11908    return;
11909    break;
11910  case 32:
11911    // LDPDpost, LDPQpost, LDPSWpost, LDPSpost, LDPWpost, LDPXpost, STPDpost,...
11912    O << "], ";
11913    break;
11914  case 33:
11915    // LDRAAwriteback, LDRABwriteback, LDRBBpre, LDRBpre, LDRDpre, LDRHHpre, ...
11916    O << "]!";
11917    return;
11918    break;
11919  case 34:
11920    // SDOTlanev16i8, SDOTlanev8i8, UDOTlanev16i8, UDOTlanev8i8
11921    O << ".4b";
11922    printVectorIndex(MI, 4, STI, O);
11923    return;
11924    break;
11925  case 35:
11926    // STLXPW, STLXPX, STXPW, STXPX
11927    O << ", [";
11928    printOperand(MI, 3, STI, O);
11929    O << ']';
11930    return;
11931    break;
11932  }
11933
11934
11935  // Fragment 6 encoded into 6 bits for 38 unique commands.
11936  switch ((Bits >> 51) & 63) {
11937  default: llvm_unreachable("Invalid command number.");
11938  case 0:
11939    // ADD_ZPmZ_B, ANDS_PPzPP, AND_PPzPP, AND_ZPmZ_B, ASRR_ZPmZ_B, ASR_ZPmZ_B...
11940    printSVERegOp<'b'>(MI, 3, STI, O);
11941    return;
11942    break;
11943  case 1:
11944    // ADD_ZPmZ_D, AND_ZPmZ_D, ASRR_ZPmZ_D, ASR_WIDE_ZPmZ_B, ASR_WIDE_ZPmZ_S,...
11945    printSVERegOp<'d'>(MI, 3, STI, O);
11946    break;
11947  case 2:
11948    // ADD_ZPmZ_H, AND_ZPmZ_H, ASRR_ZPmZ_H, ASR_ZPmZ_H, BIC_ZPmZ_H, CLASTA_ZP...
11949    return;
11950    break;
11951  case 3:
11952    // ADD_ZPmZ_S, AND_ZPmZ_S, ASRR_ZPmZ_S, ASR_ZPmZ_S, BIC_ZPmZ_S, CLASTA_RP...
11953    printSVERegOp<'s'>(MI, 3, STI, O);
11954    break;
11955  case 4:
11956    // ASRD_ZPmI_B, ASRD_ZPmI_D, ASRD_ZPmI_S, ASR_ZPmI_B, ASR_ZPmI_D, ASR_ZPm...
11957    printOperand(MI, 3, STI, O);
11958    return;
11959    break;
11960  case 5:
11961    // BCAX, EOR3, SM3SS1
11962    printVRegOperand(MI, 3, STI, O);
11963    break;
11964  case 6:
11965    // BFMWri, BFMXri
11966    printOperand(MI, 4, STI, O);
11967    return;
11968    break;
11969  case 7:
11970    // CCMNWi, CCMNWr, CCMNXi, CCMNXr, CCMPWi, CCMPWr, CCMPXi, CCMPXr, CSELWr...
11971    printCondCode(MI, 3, STI, O);
11972    return;
11973    break;
11974  case 8:
11975    // CLASTA_RPZ_H, CLASTA_VPZ_H, CLASTB_RPZ_H, CLASTB_VPZ_H, FADDA_VPZ_H
11976    printSVERegOp<'h'>(MI, 3, STI, O);
11977    return;
11978    break;
11979  case 9:
11980    // CMPHI_PPzZI_B, CMPHI_PPzZI_D, CMPHI_PPzZI_S, CMPHS_PPzZI_B, CMPHS_PPzZ...
11981    printImm(MI, 3, STI, O);
11982    return;
11983    break;
11984  case 10:
11985    // FADD_ZPmI_D, FADD_ZPmI_S, FSUBR_ZPmI_D, FSUBR_ZPmI_S, FSUB_ZPmI_D, FSU...
11986    printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::one>(MI, 3, STI, O);
11987    return;
11988    break;
11989  case 11:
11990    // FCADD_ZPmZ_H, FCMLA_ZPmZZ_H
11991    O << ", ";
11992    break;
11993  case 12:
11994    // FCADDv2f32, FCADDv2f64, FCADDv4f16, FCADDv4f32, FCADDv8f16
11995    printComplexRotationOp<180, 90>(MI, 3, STI, O);
11996    return;
11997    break;
11998  case 13:
11999    // FCMLA_ZPmZZ_D, FMAD_ZPmZZ_D, FMLA_ZPmZZ_D, FMLS_ZPmZZ_D, FMSB_ZPmZZ_D,...
12000    printSVERegOp<'d'>(MI, 4, STI, O);
12001    break;
12002  case 14:
12003    // FCMLA_ZPmZZ_S, FMAD_ZPmZZ_S, FMLA_ZPmZZ_S, FMLS_ZPmZZ_S, FMSB_ZPmZZ_S,...
12004    printSVERegOp<'s'>(MI, 4, STI, O);
12005    break;
12006  case 15:
12007    // FCMLA_ZZZI_S
12008    printComplexRotationOp<90, 0>(MI, 5, STI, O);
12009    return;
12010    break;
12011  case 16:
12012    // FCMLAv2f32, FCMLAv2f64, FCMLAv4f16, FCMLAv4f32, FCMLAv8f16
12013    printComplexRotationOp<90, 0>(MI, 4, STI, O);
12014    return;
12015    break;
12016  case 17:
12017    // FCMLAv4f16_indexed, FCMLAv4f32_indexed, FCMLAv8f16_indexed, FMLAv1i16_...
12018    printVectorIndex(MI, 4, STI, O);
12019    break;
12020  case 18:
12021    // FMAXNM_ZPmI_D, FMAXNM_ZPmI_S, FMAX_ZPmI_D, FMAX_ZPmI_S, FMINNM_ZPmI_D,...
12022    printExactFPImm<AArch64ExactFPImm::zero, AArch64ExactFPImm::one>(MI, 3, STI, O);
12023    return;
12024    break;
12025  case 19:
12026    // FMULXv1i16_indexed, FMULXv1i32_indexed, FMULXv1i64_indexed, FMULXv2i32...
12027    printVectorIndex(MI, 3, STI, O);
12028    return;
12029    break;
12030  case 20:
12031    // FMUL_ZPmI_D, FMUL_ZPmI_S
12032    printExactFPImm<AArch64ExactFPImm::half, AArch64ExactFPImm::two>(MI, 3, STI, O);
12033    return;
12034    break;
12035  case 21:
12036    // LDNPDi, LDNPXi, LDPDi, LDPXi, STNPDi, STNPXi, STPDi, STPXi
12037    printImmScale<8>(MI, 3, STI, O);
12038    O << ']';
12039    return;
12040    break;
12041  case 22:
12042    // LDNPQi, LDPQi, STNPQi, STPQi
12043    printImmScale<16>(MI, 3, STI, O);
12044    O << ']';
12045    return;
12046    break;
12047  case 23:
12048    // LDNPSi, LDNPWi, LDPSWi, LDPSi, LDPWi, STNPSi, STNPWi, STPSi, STPWi
12049    printImmScale<4>(MI, 3, STI, O);
12050    O << ']';
12051    return;
12052    break;
12053  case 24:
12054    // LDPDpost, LDPDpre, LDPXpost, LDPXpre, STPDpost, STPDpre, STPXpost, STP...
12055    printImmScale<8>(MI, 4, STI, O);
12056    break;
12057  case 25:
12058    // LDPQpost, LDPQpre, STPQpost, STPQpre
12059    printImmScale<16>(MI, 4, STI, O);
12060    break;
12061  case 26:
12062    // LDPSWpost, LDPSWpre, LDPSpost, LDPSpre, LDPWpost, LDPWpre, STPSpost, S...
12063    printImmScale<4>(MI, 4, STI, O);
12064    break;
12065  case 27:
12066    // LDRBBroW, LDRBroW, LDRSBWroW, LDRSBXroW, STRBBroW, STRBroW
12067    printMemExtend<'w', 8>(MI, 3, STI, O);
12068    O << ']';
12069    return;
12070    break;
12071  case 28:
12072    // LDRBBroX, LDRBroX, LDRSBWroX, LDRSBXroX, STRBBroX, STRBroX
12073    printMemExtend<'x', 8>(MI, 3, STI, O);
12074    O << ']';
12075    return;
12076    break;
12077  case 29:
12078    // LDRDroW, LDRXroW, PRFMroW, STRDroW, STRXroW
12079    printMemExtend<'w', 64>(MI, 3, STI, O);
12080    O << ']';
12081    return;
12082    break;
12083  case 30:
12084    // LDRDroX, LDRXroX, PRFMroX, STRDroX, STRXroX
12085    printMemExtend<'x', 64>(MI, 3, STI, O);
12086    O << ']';
12087    return;
12088    break;
12089  case 31:
12090    // LDRHHroW, LDRHroW, LDRSHWroW, LDRSHXroW, STRHHroW, STRHroW
12091    printMemExtend<'w', 16>(MI, 3, STI, O);
12092    O << ']';
12093    return;
12094    break;
12095  case 32:
12096    // LDRHHroX, LDRHroX, LDRSHWroX, LDRSHXroX, STRHHroX, STRHroX
12097    printMemExtend<'x', 16>(MI, 3, STI, O);
12098    O << ']';
12099    return;
12100    break;
12101  case 33:
12102    // LDRQroW, STRQroW
12103    printMemExtend<'w', 128>(MI, 3, STI, O);
12104    O << ']';
12105    return;
12106    break;
12107  case 34:
12108    // LDRQroX, STRQroX
12109    printMemExtend<'x', 128>(MI, 3, STI, O);
12110    O << ']';
12111    return;
12112    break;
12113  case 35:
12114    // LDRSWroW, LDRSroW, LDRWroW, STRSroW, STRWroW
12115    printMemExtend<'w', 32>(MI, 3, STI, O);
12116    O << ']';
12117    return;
12118    break;
12119  case 36:
12120    // LDRSWroX, LDRSroX, LDRWroX, STRSroX, STRWroX
12121    printMemExtend<'x', 32>(MI, 3, STI, O);
12122    O << ']';
12123    return;
12124    break;
12125  case 37:
12126    // MAD_ZPmZZ_B, MLA_ZPmZZ_B, MLS_ZPmZZ_B, MSB_ZPmZZ_B
12127    printSVERegOp<'b'>(MI, 4, STI, O);
12128    return;
12129    break;
12130  }
12131
12132
12133  // Fragment 7 encoded into 3 bits for 7 unique commands.
12134  switch ((Bits >> 57) & 7) {
12135  default: llvm_unreachable("Invalid command number.");
12136  case 0:
12137    // ADD_ZPmZ_D, ADD_ZPmZ_S, AND_ZPmZ_D, AND_ZPmZ_S, ASRR_ZPmZ_D, ASRR_ZPmZ...
12138    return;
12139    break;
12140  case 1:
12141    // BCAX, EOR3
12142    O << ".16b";
12143    return;
12144    break;
12145  case 2:
12146    // FCADD_ZPmZ_D, FCADD_ZPmZ_S, FCMLA_ZPmZZ_D, FCMLA_ZPmZZ_S, FCMLAv4f16_i...
12147    O << ", ";
12148    break;
12149  case 3:
12150    // FCADD_ZPmZ_H
12151    printComplexRotationOp<180, 90>(MI, 4, STI, O);
12152    return;
12153    break;
12154  case 4:
12155    // FCMLA_ZPmZZ_H
12156    printComplexRotationOp<90, 0>(MI, 5, STI, O);
12157    return;
12158    break;
12159  case 5:
12160    // LDPDpre, LDPQpre, LDPSWpre, LDPSpre, LDPWpre, LDPXpre, STPDpre, STPQpr...
12161    O << "]!";
12162    return;
12163    break;
12164  case 6:
12165    // SM3SS1
12166    O << ".4s";
12167    return;
12168    break;
12169  }
12170
12171
12172  // Fragment 8 encoded into 1 bits for 2 unique commands.
12173  if ((Bits >> 60) & 1) {
12174    // FCMLA_ZPmZZ_D, FCMLA_ZPmZZ_S, FCMLAv4f16_indexed, FCMLAv4f32_indexed, ...
12175    printComplexRotationOp<90, 0>(MI, 5, STI, O);
12176    return;
12177  } else {
12178    // FCADD_ZPmZ_D, FCADD_ZPmZ_S
12179    printComplexRotationOp<180, 90>(MI, 4, STI, O);
12180    return;
12181  }
12182
12183}
12184
12185
12186/// getRegisterName - This method is automatically generated by tblgen
12187/// from the register set description.  This returns the assembler name
12188/// for the specified register.
12189const char *AArch64InstPrinter::
12190getRegisterName(unsigned RegNo, unsigned AltIdx) {
12191  assert(RegNo && RegNo < 661 && "Invalid register number!");
12192
12193  static const char AsmStrsNoRegAltName[] = {
12194  /* 0 */ 'D', '7', '_', 'D', '8', '_', 'D', '9', '_', 'D', '1', '0', 0,
12195  /* 13 */ 'Q', '7', '_', 'Q', '8', '_', 'Q', '9', '_', 'Q', '1', '0', 0,
12196  /* 26 */ 'W', '9', '_', 'W', '1', '0', 0,
12197  /* 33 */ 'X', '9', '_', 'X', '1', '0', 0,
12198  /* 40 */ 'Z', '7', '_', 'Z', '8', '_', 'Z', '9', '_', 'Z', '1', '0', 0,
12199  /* 53 */ 'b', '1', '0', 0,
12200  /* 57 */ 'd', '1', '0', 0,
12201  /* 61 */ 'h', '1', '0', 0,
12202  /* 65 */ 'p', '1', '0', 0,
12203  /* 69 */ 'q', '1', '0', 0,
12204  /* 73 */ 's', '1', '0', 0,
12205  /* 77 */ 'w', '1', '0', 0,
12206  /* 81 */ 'x', '1', '0', 0,
12207  /* 85 */ 'z', '1', '0', 0,
12208  /* 89 */ 'D', '1', '7', '_', 'D', '1', '8', '_', 'D', '1', '9', '_', 'D', '2', '0', 0,
12209  /* 105 */ 'Q', '1', '7', '_', 'Q', '1', '8', '_', 'Q', '1', '9', '_', 'Q', '2', '0', 0,
12210  /* 121 */ 'W', '1', '9', '_', 'W', '2', '0', 0,
12211  /* 129 */ 'X', '1', '9', '_', 'X', '2', '0', 0,
12212  /* 137 */ 'Z', '1', '7', '_', 'Z', '1', '8', '_', 'Z', '1', '9', '_', 'Z', '2', '0', 0,
12213  /* 153 */ 'b', '2', '0', 0,
12214  /* 157 */ 'd', '2', '0', 0,
12215  /* 161 */ 'h', '2', '0', 0,
12216  /* 165 */ 'q', '2', '0', 0,
12217  /* 169 */ 's', '2', '0', 0,
12218  /* 173 */ 'w', '2', '0', 0,
12219  /* 177 */ 'x', '2', '0', 0,
12220  /* 181 */ 'z', '2', '0', 0,
12221  /* 185 */ 'D', '2', '7', '_', 'D', '2', '8', '_', 'D', '2', '9', '_', 'D', '3', '0', 0,
12222  /* 201 */ 'Q', '2', '7', '_', 'Q', '2', '8', '_', 'Q', '2', '9', '_', 'Q', '3', '0', 0,
12223  /* 217 */ 'W', '2', '9', '_', 'W', '3', '0', 0,
12224  /* 225 */ 'Z', '2', '7', '_', 'Z', '2', '8', '_', 'Z', '2', '9', '_', 'Z', '3', '0', 0,
12225  /* 241 */ 'b', '3', '0', 0,
12226  /* 245 */ 'd', '3', '0', 0,
12227  /* 249 */ 'h', '3', '0', 0,
12228  /* 253 */ 'q', '3', '0', 0,
12229  /* 257 */ 's', '3', '0', 0,
12230  /* 261 */ 'w', '3', '0', 0,
12231  /* 265 */ 'x', '3', '0', 0,
12232  /* 269 */ 'z', '3', '0', 0,
12233  /* 273 */ 'D', '2', '9', '_', 'D', '3', '0', '_', 'D', '3', '1', '_', 'D', '0', 0,
12234  /* 288 */ 'Q', '2', '9', '_', 'Q', '3', '0', '_', 'Q', '3', '1', '_', 'Q', '0', 0,
12235  /* 303 */ 'W', 'Z', 'R', '_', 'W', '0', 0,
12236  /* 310 */ 'X', 'Z', 'R', '_', 'X', '0', 0,
12237  /* 317 */ 'Z', '2', '9', '_', 'Z', '3', '0', '_', 'Z', '3', '1', '_', 'Z', '0', 0,
12238  /* 332 */ 'b', '0', 0,
12239  /* 335 */ 'd', '0', 0,
12240  /* 338 */ 'h', '0', 0,
12241  /* 341 */ 'p', '0', 0,
12242  /* 344 */ 'q', '0', 0,
12243  /* 347 */ 's', '0', 0,
12244  /* 350 */ 'w', '0', 0,
12245  /* 353 */ 'x', '0', 0,
12246  /* 356 */ 'z', '0', 0,
12247  /* 359 */ 'D', '8', '_', 'D', '9', '_', 'D', '1', '0', '_', 'D', '1', '1', 0,
12248  /* 373 */ 'Q', '8', '_', 'Q', '9', '_', 'Q', '1', '0', '_', 'Q', '1', '1', 0,
12249  /* 387 */ 'W', '1', '0', '_', 'W', '1', '1', 0,
12250  /* 395 */ 'X', '1', '0', '_', 'X', '1', '1', 0,
12251  /* 403 */ 'Z', '8', '_', 'Z', '9', '_', 'Z', '1', '0', '_', 'Z', '1', '1', 0,
12252  /* 417 */ 'b', '1', '1', 0,
12253  /* 421 */ 'd', '1', '1', 0,
12254  /* 425 */ 'h', '1', '1', 0,
12255  /* 429 */ 'p', '1', '1', 0,
12256  /* 433 */ 'q', '1', '1', 0,
12257  /* 437 */ 's', '1', '1', 0,
12258  /* 441 */ 'w', '1', '1', 0,
12259  /* 445 */ 'x', '1', '1', 0,
12260  /* 449 */ 'z', '1', '1', 0,
12261  /* 453 */ 'D', '1', '8', '_', 'D', '1', '9', '_', 'D', '2', '0', '_', 'D', '2', '1', 0,
12262  /* 469 */ 'Q', '1', '8', '_', 'Q', '1', '9', '_', 'Q', '2', '0', '_', 'Q', '2', '1', 0,
12263  /* 485 */ 'W', '2', '0', '_', 'W', '2', '1', 0,
12264  /* 493 */ 'X', '2', '0', '_', 'X', '2', '1', 0,
12265  /* 501 */ 'Z', '1', '8', '_', 'Z', '1', '9', '_', 'Z', '2', '0', '_', 'Z', '2', '1', 0,
12266  /* 517 */ 'b', '2', '1', 0,
12267  /* 521 */ 'd', '2', '1', 0,
12268  /* 525 */ 'h', '2', '1', 0,
12269  /* 529 */ 'q', '2', '1', 0,
12270  /* 533 */ 's', '2', '1', 0,
12271  /* 537 */ 'w', '2', '1', 0,
12272  /* 541 */ 'x', '2', '1', 0,
12273  /* 545 */ 'z', '2', '1', 0,
12274  /* 549 */ 'D', '2', '8', '_', 'D', '2', '9', '_', 'D', '3', '0', '_', 'D', '3', '1', 0,
12275  /* 565 */ 'Q', '2', '8', '_', 'Q', '2', '9', '_', 'Q', '3', '0', '_', 'Q', '3', '1', 0,
12276  /* 581 */ 'Z', '2', '8', '_', 'Z', '2', '9', '_', 'Z', '3', '0', '_', 'Z', '3', '1', 0,
12277  /* 597 */ 'b', '3', '1', 0,
12278  /* 601 */ 'd', '3', '1', 0,
12279  /* 605 */ 'h', '3', '1', 0,
12280  /* 609 */ 'q', '3', '1', 0,
12281  /* 613 */ 's', '3', '1', 0,
12282  /* 617 */ 'z', '3', '1', 0,
12283  /* 621 */ 'D', '3', '0', '_', 'D', '3', '1', '_', 'D', '0', '_', 'D', '1', 0,
12284  /* 635 */ 'Q', '3', '0', '_', 'Q', '3', '1', '_', 'Q', '0', '_', 'Q', '1', 0,
12285  /* 649 */ 'W', '0', '_', 'W', '1', 0,
12286  /* 655 */ 'X', '0', '_', 'X', '1', 0,
12287  /* 661 */ 'Z', '3', '0', '_', 'Z', '3', '1', '_', 'Z', '0', '_', 'Z', '1', 0,
12288  /* 675 */ 'b', '1', 0,
12289  /* 678 */ 'd', '1', 0,
12290  /* 681 */ 'h', '1', 0,
12291  /* 684 */ 'p', '1', 0,
12292  /* 687 */ 'q', '1', 0,
12293  /* 690 */ 's', '1', 0,
12294  /* 693 */ 'w', '1', 0,
12295  /* 696 */ 'x', '1', 0,
12296  /* 699 */ 'z', '1', 0,
12297  /* 702 */ 'D', '9', '_', 'D', '1', '0', '_', 'D', '1', '1', '_', 'D', '1', '2', 0,
12298  /* 717 */ 'Q', '9', '_', 'Q', '1', '0', '_', 'Q', '1', '1', '_', 'Q', '1', '2', 0,
12299  /* 732 */ 'W', '1', '1', '_', 'W', '1', '2', 0,
12300  /* 740 */ 'X', '1', '1', '_', 'X', '1', '2', 0,
12301  /* 748 */ 'Z', '9', '_', 'Z', '1', '0', '_', 'Z', '1', '1', '_', 'Z', '1', '2', 0,
12302  /* 763 */ 'b', '1', '2', 0,
12303  /* 767 */ 'd', '1', '2', 0,
12304  /* 771 */ 'h', '1', '2', 0,
12305  /* 775 */ 'p', '1', '2', 0,
12306  /* 779 */ 'q', '1', '2', 0,
12307  /* 783 */ 's', '1', '2', 0,
12308  /* 787 */ 'w', '1', '2', 0,
12309  /* 791 */ 'x', '1', '2', 0,
12310  /* 795 */ 'z', '1', '2', 0,
12311  /* 799 */ 'D', '1', '9', '_', 'D', '2', '0', '_', 'D', '2', '1', '_', 'D', '2', '2', 0,
12312  /* 815 */ 'Q', '1', '9', '_', 'Q', '2', '0', '_', 'Q', '2', '1', '_', 'Q', '2', '2', 0,
12313  /* 831 */ 'W', '2', '1', '_', 'W', '2', '2', 0,
12314  /* 839 */ 'X', '2', '1', '_', 'X', '2', '2', 0,
12315  /* 847 */ 'Z', '1', '9', '_', 'Z', '2', '0', '_', 'Z', '2', '1', '_', 'Z', '2', '2', 0,
12316  /* 863 */ 'b', '2', '2', 0,
12317  /* 867 */ 'd', '2', '2', 0,
12318  /* 871 */ 'h', '2', '2', 0,
12319  /* 875 */ 'q', '2', '2', 0,
12320  /* 879 */ 's', '2', '2', 0,
12321  /* 883 */ 'w', '2', '2', 0,
12322  /* 887 */ 'x', '2', '2', 0,
12323  /* 891 */ 'z', '2', '2', 0,
12324  /* 895 */ 'D', '3', '1', '_', 'D', '0', '_', 'D', '1', '_', 'D', '2', 0,
12325  /* 908 */ 'Q', '3', '1', '_', 'Q', '0', '_', 'Q', '1', '_', 'Q', '2', 0,
12326  /* 921 */ 'W', '1', '_', 'W', '2', 0,
12327  /* 927 */ 'X', '1', '_', 'X', '2', 0,
12328  /* 933 */ 'Z', '3', '1', '_', 'Z', '0', '_', 'Z', '1', '_', 'Z', '2', 0,
12329  /* 946 */ 'b', '2', 0,
12330  /* 949 */ 'd', '2', 0,
12331  /* 952 */ 'h', '2', 0,
12332  /* 955 */ 'p', '2', 0,
12333  /* 958 */ 'q', '2', 0,
12334  /* 961 */ 's', '2', 0,
12335  /* 964 */ 'w', '2', 0,
12336  /* 967 */ 'x', '2', 0,
12337  /* 970 */ 'z', '2', 0,
12338  /* 973 */ 'D', '1', '0', '_', 'D', '1', '1', '_', 'D', '1', '2', '_', 'D', '1', '3', 0,
12339  /* 989 */ 'Q', '1', '0', '_', 'Q', '1', '1', '_', 'Q', '1', '2', '_', 'Q', '1', '3', 0,
12340  /* 1005 */ 'W', '1', '2', '_', 'W', '1', '3', 0,
12341  /* 1013 */ 'X', '1', '2', '_', 'X', '1', '3', 0,
12342  /* 1021 */ 'Z', '1', '0', '_', 'Z', '1', '1', '_', 'Z', '1', '2', '_', 'Z', '1', '3', 0,
12343  /* 1037 */ 'b', '1', '3', 0,
12344  /* 1041 */ 'd', '1', '3', 0,
12345  /* 1045 */ 'h', '1', '3', 0,
12346  /* 1049 */ 'p', '1', '3', 0,
12347  /* 1053 */ 'q', '1', '3', 0,
12348  /* 1057 */ 's', '1', '3', 0,
12349  /* 1061 */ 'w', '1', '3', 0,
12350  /* 1065 */ 'x', '1', '3', 0,
12351  /* 1069 */ 'z', '1', '3', 0,
12352  /* 1073 */ 'D', '2', '0', '_', 'D', '2', '1', '_', 'D', '2', '2', '_', 'D', '2', '3', 0,
12353  /* 1089 */ 'Q', '2', '0', '_', 'Q', '2', '1', '_', 'Q', '2', '2', '_', 'Q', '2', '3', 0,
12354  /* 1105 */ 'W', '2', '2', '_', 'W', '2', '3', 0,
12355  /* 1113 */ 'X', '2', '2', '_', 'X', '2', '3', 0,
12356  /* 1121 */ 'Z', '2', '0', '_', 'Z', '2', '1', '_', 'Z', '2', '2', '_', 'Z', '2', '3', 0,
12357  /* 1137 */ 'b', '2', '3', 0,
12358  /* 1141 */ 'd', '2', '3', 0,
12359  /* 1145 */ 'h', '2', '3', 0,
12360  /* 1149 */ 'q', '2', '3', 0,
12361  /* 1153 */ 's', '2', '3', 0,
12362  /* 1157 */ 'w', '2', '3', 0,
12363  /* 1161 */ 'x', '2', '3', 0,
12364  /* 1165 */ 'z', '2', '3', 0,
12365  /* 1169 */ 'D', '0', '_', 'D', '1', '_', 'D', '2', '_', 'D', '3', 0,
12366  /* 1181 */ 'Q', '0', '_', 'Q', '1', '_', 'Q', '2', '_', 'Q', '3', 0,
12367  /* 1193 */ 'W', '2', '_', 'W', '3', 0,
12368  /* 1199 */ 'X', '2', '_', 'X', '3', 0,
12369  /* 1205 */ 'Z', '0', '_', 'Z', '1', '_', 'Z', '2', '_', 'Z', '3', 0,
12370  /* 1217 */ 'b', '3', 0,
12371  /* 1220 */ 'd', '3', 0,
12372  /* 1223 */ 'h', '3', 0,
12373  /* 1226 */ 'p', '3', 0,
12374  /* 1229 */ 'q', '3', 0,
12375  /* 1232 */ 's', '3', 0,
12376  /* 1235 */ 'w', '3', 0,
12377  /* 1238 */ 'x', '3', 0,
12378  /* 1241 */ 'z', '3', 0,
12379  /* 1244 */ 'D', '1', '1', '_', 'D', '1', '2', '_', 'D', '1', '3', '_', 'D', '1', '4', 0,
12380  /* 1260 */ 'Q', '1', '1', '_', 'Q', '1', '2', '_', 'Q', '1', '3', '_', 'Q', '1', '4', 0,
12381  /* 1276 */ 'W', '1', '3', '_', 'W', '1', '4', 0,
12382  /* 1284 */ 'X', '1', '3', '_', 'X', '1', '4', 0,
12383  /* 1292 */ 'Z', '1', '1', '_', 'Z', '1', '2', '_', 'Z', '1', '3', '_', 'Z', '1', '4', 0,
12384  /* 1308 */ 'b', '1', '4', 0,
12385  /* 1312 */ 'd', '1', '4', 0,
12386  /* 1316 */ 'h', '1', '4', 0,
12387  /* 1320 */ 'p', '1', '4', 0,
12388  /* 1324 */ 'q', '1', '4', 0,
12389  /* 1328 */ 's', '1', '4', 0,
12390  /* 1332 */ 'w', '1', '4', 0,
12391  /* 1336 */ 'x', '1', '4', 0,
12392  /* 1340 */ 'z', '1', '4', 0,
12393  /* 1344 */ 'D', '2', '1', '_', 'D', '2', '2', '_', 'D', '2', '3', '_', 'D', '2', '4', 0,
12394  /* 1360 */ 'Q', '2', '1', '_', 'Q', '2', '2', '_', 'Q', '2', '3', '_', 'Q', '2', '4', 0,
12395  /* 1376 */ 'W', '2', '3', '_', 'W', '2', '4', 0,
12396  /* 1384 */ 'X', '2', '3', '_', 'X', '2', '4', 0,
12397  /* 1392 */ 'Z', '2', '1', '_', 'Z', '2', '2', '_', 'Z', '2', '3', '_', 'Z', '2', '4', 0,
12398  /* 1408 */ 'b', '2', '4', 0,
12399  /* 1412 */ 'd', '2', '4', 0,
12400  /* 1416 */ 'h', '2', '4', 0,
12401  /* 1420 */ 'q', '2', '4', 0,
12402  /* 1424 */ 's', '2', '4', 0,
12403  /* 1428 */ 'w', '2', '4', 0,
12404  /* 1432 */ 'x', '2', '4', 0,
12405  /* 1436 */ 'z', '2', '4', 0,
12406  /* 1440 */ 'D', '1', '_', 'D', '2', '_', 'D', '3', '_', 'D', '4', 0,
12407  /* 1452 */ 'Q', '1', '_', 'Q', '2', '_', 'Q', '3', '_', 'Q', '4', 0,
12408  /* 1464 */ 'W', '3', '_', 'W', '4', 0,
12409  /* 1470 */ 'X', '3', '_', 'X', '4', 0,
12410  /* 1476 */ 'Z', '1', '_', 'Z', '2', '_', 'Z', '3', '_', 'Z', '4', 0,
12411  /* 1488 */ 'b', '4', 0,
12412  /* 1491 */ 'd', '4', 0,
12413  /* 1494 */ 'h', '4', 0,
12414  /* 1497 */ 'p', '4', 0,
12415  /* 1500 */ 'q', '4', 0,
12416  /* 1503 */ 's', '4', 0,
12417  /* 1506 */ 'w', '4', 0,
12418  /* 1509 */ 'x', '4', 0,
12419  /* 1512 */ 'z', '4', 0,
12420  /* 1515 */ 'D', '1', '2', '_', 'D', '1', '3', '_', 'D', '1', '4', '_', 'D', '1', '5', 0,
12421  /* 1531 */ 'Q', '1', '2', '_', 'Q', '1', '3', '_', 'Q', '1', '4', '_', 'Q', '1', '5', 0,
12422  /* 1547 */ 'W', '1', '4', '_', 'W', '1', '5', 0,
12423  /* 1555 */ 'X', '1', '4', '_', 'X', '1', '5', 0,
12424  /* 1563 */ 'Z', '1', '2', '_', 'Z', '1', '3', '_', 'Z', '1', '4', '_', 'Z', '1', '5', 0,
12425  /* 1579 */ 'b', '1', '5', 0,
12426  /* 1583 */ 'd', '1', '5', 0,
12427  /* 1587 */ 'h', '1', '5', 0,
12428  /* 1591 */ 'p', '1', '5', 0,
12429  /* 1595 */ 'q', '1', '5', 0,
12430  /* 1599 */ 's', '1', '5', 0,
12431  /* 1603 */ 'w', '1', '5', 0,
12432  /* 1607 */ 'x', '1', '5', 0,
12433  /* 1611 */ 'z', '1', '5', 0,
12434  /* 1615 */ 'D', '2', '2', '_', 'D', '2', '3', '_', 'D', '2', '4', '_', 'D', '2', '5', 0,
12435  /* 1631 */ 'Q', '2', '2', '_', 'Q', '2', '3', '_', 'Q', '2', '4', '_', 'Q', '2', '5', 0,
12436  /* 1647 */ 'W', '2', '4', '_', 'W', '2', '5', 0,
12437  /* 1655 */ 'X', '2', '4', '_', 'X', '2', '5', 0,
12438  /* 1663 */ 'Z', '2', '2', '_', 'Z', '2', '3', '_', 'Z', '2', '4', '_', 'Z', '2', '5', 0,
12439  /* 1679 */ 'b', '2', '5', 0,
12440  /* 1683 */ 'd', '2', '5', 0,
12441  /* 1687 */ 'h', '2', '5', 0,
12442  /* 1691 */ 'q', '2', '5', 0,
12443  /* 1695 */ 's', '2', '5', 0,
12444  /* 1699 */ 'w', '2', '5', 0,
12445  /* 1703 */ 'x', '2', '5', 0,
12446  /* 1707 */ 'z', '2', '5', 0,
12447  /* 1711 */ 'D', '2', '_', 'D', '3', '_', 'D', '4', '_', 'D', '5', 0,
12448  /* 1723 */ 'Q', '2', '_', 'Q', '3', '_', 'Q', '4', '_', 'Q', '5', 0,
12449  /* 1735 */ 'W', '4', '_', 'W', '5', 0,
12450  /* 1741 */ 'X', '4', '_', 'X', '5', 0,
12451  /* 1747 */ 'Z', '2', '_', 'Z', '3', '_', 'Z', '4', '_', 'Z', '5', 0,
12452  /* 1759 */ 'b', '5', 0,
12453  /* 1762 */ 'd', '5', 0,
12454  /* 1765 */ 'h', '5', 0,
12455  /* 1768 */ 'p', '5', 0,
12456  /* 1771 */ 'q', '5', 0,
12457  /* 1774 */ 's', '5', 0,
12458  /* 1777 */ 'w', '5', 0,
12459  /* 1780 */ 'x', '5', 0,
12460  /* 1783 */ 'z', '5', 0,
12461  /* 1786 */ 'D', '1', '3', '_', 'D', '1', '4', '_', 'D', '1', '5', '_', 'D', '1', '6', 0,
12462  /* 1802 */ 'Q', '1', '3', '_', 'Q', '1', '4', '_', 'Q', '1', '5', '_', 'Q', '1', '6', 0,
12463  /* 1818 */ 'W', '1', '5', '_', 'W', '1', '6', 0,
12464  /* 1826 */ 'X', '1', '5', '_', 'X', '1', '6', 0,
12465  /* 1834 */ 'Z', '1', '3', '_', 'Z', '1', '4', '_', 'Z', '1', '5', '_', 'Z', '1', '6', 0,
12466  /* 1850 */ 'b', '1', '6', 0,
12467  /* 1854 */ 'd', '1', '6', 0,
12468  /* 1858 */ 'h', '1', '6', 0,
12469  /* 1862 */ 'q', '1', '6', 0,
12470  /* 1866 */ 's', '1', '6', 0,
12471  /* 1870 */ 'w', '1', '6', 0,
12472  /* 1874 */ 'x', '1', '6', 0,
12473  /* 1878 */ 'z', '1', '6', 0,
12474  /* 1882 */ 'D', '2', '3', '_', 'D', '2', '4', '_', 'D', '2', '5', '_', 'D', '2', '6', 0,
12475  /* 1898 */ 'Q', '2', '3', '_', 'Q', '2', '4', '_', 'Q', '2', '5', '_', 'Q', '2', '6', 0,
12476  /* 1914 */ 'W', '2', '5', '_', 'W', '2', '6', 0,
12477  /* 1922 */ 'X', '2', '5', '_', 'X', '2', '6', 0,
12478  /* 1930 */ 'Z', '2', '3', '_', 'Z', '2', '4', '_', 'Z', '2', '5', '_', 'Z', '2', '6', 0,
12479  /* 1946 */ 'b', '2', '6', 0,
12480  /* 1950 */ 'd', '2', '6', 0,
12481  /* 1954 */ 'h', '2', '6', 0,
12482  /* 1958 */ 'q', '2', '6', 0,
12483  /* 1962 */ 's', '2', '6', 0,
12484  /* 1966 */ 'w', '2', '6', 0,
12485  /* 1970 */ 'x', '2', '6', 0,
12486  /* 1974 */ 'z', '2', '6', 0,
12487  /* 1978 */ 'D', '3', '_', 'D', '4', '_', 'D', '5', '_', 'D', '6', 0,
12488  /* 1990 */ 'Q', '3', '_', 'Q', '4', '_', 'Q', '5', '_', 'Q', '6', 0,
12489  /* 2002 */ 'W', '5', '_', 'W', '6', 0,
12490  /* 2008 */ 'X', '5', '_', 'X', '6', 0,
12491  /* 2014 */ 'Z', '3', '_', 'Z', '4', '_', 'Z', '5', '_', 'Z', '6', 0,
12492  /* 2026 */ 'b', '6', 0,
12493  /* 2029 */ 'd', '6', 0,
12494  /* 2032 */ 'h', '6', 0,
12495  /* 2035 */ 'p', '6', 0,
12496  /* 2038 */ 'q', '6', 0,
12497  /* 2041 */ 's', '6', 0,
12498  /* 2044 */ 'w', '6', 0,
12499  /* 2047 */ 'x', '6', 0,
12500  /* 2050 */ 'z', '6', 0,
12501  /* 2053 */ 'D', '1', '4', '_', 'D', '1', '5', '_', 'D', '1', '6', '_', 'D', '1', '7', 0,
12502  /* 2069 */ 'Q', '1', '4', '_', 'Q', '1', '5', '_', 'Q', '1', '6', '_', 'Q', '1', '7', 0,
12503  /* 2085 */ 'W', '1', '6', '_', 'W', '1', '7', 0,
12504  /* 2093 */ 'X', '1', '6', '_', 'X', '1', '7', 0,
12505  /* 2101 */ 'Z', '1', '4', '_', 'Z', '1', '5', '_', 'Z', '1', '6', '_', 'Z', '1', '7', 0,
12506  /* 2117 */ 'b', '1', '7', 0,
12507  /* 2121 */ 'd', '1', '7', 0,
12508  /* 2125 */ 'h', '1', '7', 0,
12509  /* 2129 */ 'q', '1', '7', 0,
12510  /* 2133 */ 's', '1', '7', 0,
12511  /* 2137 */ 'w', '1', '7', 0,
12512  /* 2141 */ 'x', '1', '7', 0,
12513  /* 2145 */ 'z', '1', '7', 0,
12514  /* 2149 */ 'D', '2', '4', '_', 'D', '2', '5', '_', 'D', '2', '6', '_', 'D', '2', '7', 0,
12515  /* 2165 */ 'Q', '2', '4', '_', 'Q', '2', '5', '_', 'Q', '2', '6', '_', 'Q', '2', '7', 0,
12516  /* 2181 */ 'W', '2', '6', '_', 'W', '2', '7', 0,
12517  /* 2189 */ 'X', '2', '6', '_', 'X', '2', '7', 0,
12518  /* 2197 */ 'Z', '2', '4', '_', 'Z', '2', '5', '_', 'Z', '2', '6', '_', 'Z', '2', '7', 0,
12519  /* 2213 */ 'b', '2', '7', 0,
12520  /* 2217 */ 'd', '2', '7', 0,
12521  /* 2221 */ 'h', '2', '7', 0,
12522  /* 2225 */ 'q', '2', '7', 0,
12523  /* 2229 */ 's', '2', '7', 0,
12524  /* 2233 */ 'w', '2', '7', 0,
12525  /* 2237 */ 'x', '2', '7', 0,
12526  /* 2241 */ 'z', '2', '7', 0,
12527  /* 2245 */ 'D', '4', '_', 'D', '5', '_', 'D', '6', '_', 'D', '7', 0,
12528  /* 2257 */ 'Q', '4', '_', 'Q', '5', '_', 'Q', '6', '_', 'Q', '7', 0,
12529  /* 2269 */ 'W', '6', '_', 'W', '7', 0,
12530  /* 2275 */ 'X', '6', '_', 'X', '7', 0,
12531  /* 2281 */ 'Z', '4', '_', 'Z', '5', '_', 'Z', '6', '_', 'Z', '7', 0,
12532  /* 2293 */ 'b', '7', 0,
12533  /* 2296 */ 'd', '7', 0,
12534  /* 2299 */ 'h', '7', 0,
12535  /* 2302 */ 'p', '7', 0,
12536  /* 2305 */ 'q', '7', 0,
12537  /* 2308 */ 's', '7', 0,
12538  /* 2311 */ 'w', '7', 0,
12539  /* 2314 */ 'x', '7', 0,
12540  /* 2317 */ 'z', '7', 0,
12541  /* 2320 */ 'D', '1', '5', '_', 'D', '1', '6', '_', 'D', '1', '7', '_', 'D', '1', '8', 0,
12542  /* 2336 */ 'Q', '1', '5', '_', 'Q', '1', '6', '_', 'Q', '1', '7', '_', 'Q', '1', '8', 0,
12543  /* 2352 */ 'W', '1', '7', '_', 'W', '1', '8', 0,
12544  /* 2360 */ 'X', '1', '7', '_', 'X', '1', '8', 0,
12545  /* 2368 */ 'Z', '1', '5', '_', 'Z', '1', '6', '_', 'Z', '1', '7', '_', 'Z', '1', '8', 0,
12546  /* 2384 */ 'b', '1', '8', 0,
12547  /* 2388 */ 'd', '1', '8', 0,
12548  /* 2392 */ 'h', '1', '8', 0,
12549  /* 2396 */ 'q', '1', '8', 0,
12550  /* 2400 */ 's', '1', '8', 0,
12551  /* 2404 */ 'w', '1', '8', 0,
12552  /* 2408 */ 'x', '1', '8', 0,
12553  /* 2412 */ 'z', '1', '8', 0,
12554  /* 2416 */ 'D', '2', '5', '_', 'D', '2', '6', '_', 'D', '2', '7', '_', 'D', '2', '8', 0,
12555  /* 2432 */ 'Q', '2', '5', '_', 'Q', '2', '6', '_', 'Q', '2', '7', '_', 'Q', '2', '8', 0,
12556  /* 2448 */ 'W', '2', '7', '_', 'W', '2', '8', 0,
12557  /* 2456 */ 'X', '2', '7', '_', 'X', '2', '8', 0,
12558  /* 2464 */ 'Z', '2', '5', '_', 'Z', '2', '6', '_', 'Z', '2', '7', '_', 'Z', '2', '8', 0,
12559  /* 2480 */ 'b', '2', '8', 0,
12560  /* 2484 */ 'd', '2', '8', 0,
12561  /* 2488 */ 'h', '2', '8', 0,
12562  /* 2492 */ 'q', '2', '8', 0,
12563  /* 2496 */ 's', '2', '8', 0,
12564  /* 2500 */ 'w', '2', '8', 0,
12565  /* 2504 */ 'x', '2', '8', 0,
12566  /* 2508 */ 'z', '2', '8', 0,
12567  /* 2512 */ 'D', '5', '_', 'D', '6', '_', 'D', '7', '_', 'D', '8', 0,
12568  /* 2524 */ 'Q', '5', '_', 'Q', '6', '_', 'Q', '7', '_', 'Q', '8', 0,
12569  /* 2536 */ 'W', '7', '_', 'W', '8', 0,
12570  /* 2542 */ 'X', '7', '_', 'X', '8', 0,
12571  /* 2548 */ 'Z', '5', '_', 'Z', '6', '_', 'Z', '7', '_', 'Z', '8', 0,
12572  /* 2560 */ 'b', '8', 0,
12573  /* 2563 */ 'd', '8', 0,
12574  /* 2566 */ 'h', '8', 0,
12575  /* 2569 */ 'p', '8', 0,
12576  /* 2572 */ 'q', '8', 0,
12577  /* 2575 */ 's', '8', 0,
12578  /* 2578 */ 'w', '8', 0,
12579  /* 2581 */ 'x', '8', 0,
12580  /* 2584 */ 'z', '8', 0,
12581  /* 2587 */ 'D', '1', '6', '_', 'D', '1', '7', '_', 'D', '1', '8', '_', 'D', '1', '9', 0,
12582  /* 2603 */ 'Q', '1', '6', '_', 'Q', '1', '7', '_', 'Q', '1', '8', '_', 'Q', '1', '9', 0,
12583  /* 2619 */ 'W', '1', '8', '_', 'W', '1', '9', 0,
12584  /* 2627 */ 'X', '1', '8', '_', 'X', '1', '9', 0,
12585  /* 2635 */ 'Z', '1', '6', '_', 'Z', '1', '7', '_', 'Z', '1', '8', '_', 'Z', '1', '9', 0,
12586  /* 2651 */ 'b', '1', '9', 0,
12587  /* 2655 */ 'd', '1', '9', 0,
12588  /* 2659 */ 'h', '1', '9', 0,
12589  /* 2663 */ 'q', '1', '9', 0,
12590  /* 2667 */ 's', '1', '9', 0,
12591  /* 2671 */ 'w', '1', '9', 0,
12592  /* 2675 */ 'x', '1', '9', 0,
12593  /* 2679 */ 'z', '1', '9', 0,
12594  /* 2683 */ 'D', '2', '6', '_', 'D', '2', '7', '_', 'D', '2', '8', '_', 'D', '2', '9', 0,
12595  /* 2699 */ 'Q', '2', '6', '_', 'Q', '2', '7', '_', 'Q', '2', '8', '_', 'Q', '2', '9', 0,
12596  /* 2715 */ 'W', '2', '8', '_', 'W', '2', '9', 0,
12597  /* 2723 */ 'Z', '2', '6', '_', 'Z', '2', '7', '_', 'Z', '2', '8', '_', 'Z', '2', '9', 0,
12598  /* 2739 */ 'b', '2', '9', 0,
12599  /* 2743 */ 'd', '2', '9', 0,
12600  /* 2747 */ 'h', '2', '9', 0,
12601  /* 2751 */ 'q', '2', '9', 0,
12602  /* 2755 */ 's', '2', '9', 0,
12603  /* 2759 */ 'w', '2', '9', 0,
12604  /* 2763 */ 'x', '2', '9', 0,
12605  /* 2767 */ 'z', '2', '9', 0,
12606  /* 2771 */ 'D', '6', '_', 'D', '7', '_', 'D', '8', '_', 'D', '9', 0,
12607  /* 2783 */ 'Q', '6', '_', 'Q', '7', '_', 'Q', '8', '_', 'Q', '9', 0,
12608  /* 2795 */ 'W', '8', '_', 'W', '9', 0,
12609  /* 2801 */ 'X', '8', '_', 'X', '9', 0,
12610  /* 2807 */ 'Z', '6', '_', 'Z', '7', '_', 'Z', '8', '_', 'Z', '9', 0,
12611  /* 2819 */ 'b', '9', 0,
12612  /* 2822 */ 'd', '9', 0,
12613  /* 2825 */ 'h', '9', 0,
12614  /* 2828 */ 'p', '9', 0,
12615  /* 2831 */ 'q', '9', 0,
12616  /* 2834 */ 's', '9', 0,
12617  /* 2837 */ 'w', '9', 0,
12618  /* 2840 */ 'x', '9', 0,
12619  /* 2843 */ 'z', '9', 0,
12620  /* 2846 */ 'X', '2', '8', '_', 'F', 'P', 0,
12621  /* 2853 */ 'F', 'P', '_', 'L', 'R', 0,
12622  /* 2859 */ 'W', '3', '0', '_', 'W', 'Z', 'R', 0,
12623  /* 2867 */ 'L', 'R', '_', 'X', 'Z', 'R', 0,
12624  /* 2874 */ 'z', '1', '0', '_', 'h', 'i', 0,
12625  /* 2881 */ 'z', '2', '0', '_', 'h', 'i', 0,
12626  /* 2888 */ 'z', '3', '0', '_', 'h', 'i', 0,
12627  /* 2895 */ 'z', '0', '_', 'h', 'i', 0,
12628  /* 2901 */ 'z', '1', '1', '_', 'h', 'i', 0,
12629  /* 2908 */ 'z', '2', '1', '_', 'h', 'i', 0,
12630  /* 2915 */ 'z', '3', '1', '_', 'h', 'i', 0,
12631  /* 2922 */ 'z', '1', '_', 'h', 'i', 0,
12632  /* 2928 */ 'z', '1', '2', '_', 'h', 'i', 0,
12633  /* 2935 */ 'z', '2', '2', '_', 'h', 'i', 0,
12634  /* 2942 */ 'z', '2', '_', 'h', 'i', 0,
12635  /* 2948 */ 'z', '1', '3', '_', 'h', 'i', 0,
12636  /* 2955 */ 'z', '2', '3', '_', 'h', 'i', 0,
12637  /* 2962 */ 'z', '3', '_', 'h', 'i', 0,
12638  /* 2968 */ 'z', '1', '4', '_', 'h', 'i', 0,
12639  /* 2975 */ 'z', '2', '4', '_', 'h', 'i', 0,
12640  /* 2982 */ 'z', '4', '_', 'h', 'i', 0,
12641  /* 2988 */ 'z', '1', '5', '_', 'h', 'i', 0,
12642  /* 2995 */ 'z', '2', '5', '_', 'h', 'i', 0,
12643  /* 3002 */ 'z', '5', '_', 'h', 'i', 0,
12644  /* 3008 */ 'z', '1', '6', '_', 'h', 'i', 0,
12645  /* 3015 */ 'z', '2', '6', '_', 'h', 'i', 0,
12646  /* 3022 */ 'z', '6', '_', 'h', 'i', 0,
12647  /* 3028 */ 'z', '1', '7', '_', 'h', 'i', 0,
12648  /* 3035 */ 'z', '2', '7', '_', 'h', 'i', 0,
12649  /* 3042 */ 'z', '7', '_', 'h', 'i', 0,
12650  /* 3048 */ 'z', '1', '8', '_', 'h', 'i', 0,
12651  /* 3055 */ 'z', '2', '8', '_', 'h', 'i', 0,
12652  /* 3062 */ 'z', '8', '_', 'h', 'i', 0,
12653  /* 3068 */ 'z', '1', '9', '_', 'h', 'i', 0,
12654  /* 3075 */ 'z', '2', '9', '_', 'h', 'i', 0,
12655  /* 3082 */ 'z', '9', '_', 'h', 'i', 0,
12656  /* 3088 */ 'w', 's', 'p', 0,
12657  /* 3092 */ 'f', 'f', 'r', 0,
12658  /* 3096 */ 'w', 'z', 'r', 0,
12659  /* 3100 */ 'x', 'z', 'r', 0,
12660  /* 3104 */ 'n', 'z', 'c', 'v', 0,
12661  };
12662
12663  static const uint16_t RegAsmOffsetNoRegAltName[] = {
12664    3092, 2763, 265, 3104, 3089, 3088, 3096, 3100, 332, 675, 946, 1217, 1488, 1759,
12665    2026, 2293, 2560, 2819, 53, 417, 763, 1037, 1308, 1579, 1850, 2117, 2384, 2651,
12666    153, 517, 863, 1137, 1408, 1679, 1946, 2213, 2480, 2739, 241, 597, 335, 678,
12667    949, 1220, 1491, 1762, 2029, 2296, 2563, 2822, 57, 421, 767, 1041, 1312, 1583,
12668    1854, 2121, 2388, 2655, 157, 521, 867, 1141, 1412, 1683, 1950, 2217, 2484, 2743,
12669    245, 601, 338, 681, 952, 1223, 1494, 1765, 2032, 2299, 2566, 2825, 61, 425,
12670    771, 1045, 1316, 1587, 1858, 2125, 2392, 2659, 161, 525, 871, 1145, 1416, 1687,
12671    1954, 2221, 2488, 2747, 249, 605, 341, 684, 955, 1226, 1497, 1768, 2035, 2302,
12672    2569, 2828, 65, 429, 775, 1049, 1320, 1591, 344, 687, 958, 1229, 1500, 1771,
12673    2038, 2305, 2572, 2831, 69, 433, 779, 1053, 1324, 1595, 1862, 2129, 2396, 2663,
12674    165, 529, 875, 1149, 1420, 1691, 1958, 2225, 2492, 2751, 253, 609, 347, 690,
12675    961, 1232, 1503, 1774, 2041, 2308, 2575, 2834, 73, 437, 783, 1057, 1328, 1599,
12676    1866, 2133, 2400, 2667, 169, 533, 879, 1153, 1424, 1695, 1962, 2229, 2496, 2755,
12677    257, 613, 350, 693, 964, 1235, 1506, 1777, 2044, 2311, 2578, 2837, 77, 441,
12678    787, 1061, 1332, 1603, 1870, 2137, 2404, 2671, 173, 537, 883, 1157, 1428, 1699,
12679    1966, 2233, 2500, 2759, 261, 353, 696, 967, 1238, 1509, 1780, 2047, 2314, 2581,
12680    2840, 81, 445, 791, 1065, 1336, 1607, 1874, 2141, 2408, 2675, 177, 541, 887,
12681    1161, 1432, 1703, 1970, 2237, 2504, 356, 699, 970, 1241, 1512, 1783, 2050, 2317,
12682    2584, 2843, 85, 449, 795, 1069, 1340, 1611, 1878, 2145, 2412, 2679, 181, 545,
12683    891, 1165, 1436, 1707, 1974, 2241, 2508, 2767, 269, 617, 2895, 2922, 2942, 2962,
12684    2982, 3002, 3022, 3042, 3062, 3082, 2874, 2901, 2928, 2948, 2968, 2988, 3008, 3028,
12685    3048, 3068, 2881, 2908, 2935, 2955, 2975, 2995, 3015, 3035, 3055, 3075, 2888, 2915,
12686    629, 902, 1175, 1446, 1717, 1984, 2251, 2518, 2777, 6, 365, 709, 981, 1252,
12687    1523, 1794, 2061, 2328, 2595, 97, 461, 807, 1081, 1352, 1623, 1890, 2157, 2424,
12688    2691, 193, 557, 281, 1169, 1440, 1711, 1978, 2245, 2512, 2771, 0, 359, 702,
12689    973, 1244, 1515, 1786, 2053, 2320, 2587, 89, 453, 799, 1073, 1344, 1615, 1882,
12690    2149, 2416, 2683, 185, 549, 273, 621, 895, 899, 1172, 1443, 1714, 1981, 2248,
12691    2515, 2774, 3, 362, 705, 977, 1248, 1519, 1790, 2057, 2324, 2591, 93, 457,
12692    803, 1077, 1348, 1619, 1886, 2153, 2420, 2687, 189, 553, 277, 625, 643, 915,
12693    1187, 1458, 1729, 1996, 2263, 2530, 2789, 19, 379, 724, 997, 1268, 1539, 1810,
12694    2077, 2344, 2611, 113, 477, 823, 1097, 1368, 1639, 1906, 2173, 2440, 2707, 209,
12695    573, 296, 1181, 1452, 1723, 1990, 2257, 2524, 2783, 13, 373, 717, 989, 1260,
12696    1531, 1802, 2069, 2336, 2603, 105, 469, 815, 1089, 1360, 1631, 1898, 2165, 2432,
12697    2699, 201, 565, 288, 635, 908, 912, 1184, 1455, 1726, 1993, 2260, 2527, 2786,
12698    16, 376, 720, 993, 1264, 1535, 1806, 2073, 2340, 2607, 109, 473, 819, 1093,
12699    1364, 1635, 1902, 2169, 2436, 2703, 205, 569, 292, 639, 303, 2859, 649, 921,
12700    1193, 1464, 1735, 2002, 2269, 2536, 2795, 26, 387, 732, 1005, 1276, 1547, 1818,
12701    2085, 2352, 2619, 121, 485, 831, 1105, 1376, 1647, 1914, 2181, 2448, 2715, 217,
12702    2853, 2867, 310, 2846, 655, 927, 1199, 1470, 1741, 2008, 2275, 2542, 2801, 33,
12703    395, 740, 1013, 1284, 1555, 1826, 2093, 2360, 2627, 129, 493, 839, 1113, 1384,
12704    1655, 1922, 2189, 2456, 669, 940, 1211, 1482, 1753, 2020, 2287, 2554, 2813, 46,
12705    409, 755, 1029, 1300, 1571, 1842, 2109, 2376, 2643, 145, 509, 855, 1129, 1400,
12706    1671, 1938, 2205, 2472, 2731, 233, 589, 325, 1205, 1476, 1747, 2014, 2281, 2548,
12707    2807, 40, 403, 748, 1021, 1292, 1563, 1834, 2101, 2368, 2635, 137, 501, 847,
12708    1121, 1392, 1663, 1930, 2197, 2464, 2723, 225, 581, 317, 661, 933, 937, 1208,
12709    1479, 1750, 2017, 2284, 2551, 2810, 43, 406, 751, 1025, 1296, 1567, 1838, 2105,
12710    2372, 2639, 141, 505, 851, 1125, 1396, 1667, 1934, 2201, 2468, 2727, 229, 585,
12711    321, 665,
12712  };
12713
12714  static const char AsmStrsvlist1[] = {
12715  /* 0 */ 0,
12716  };
12717
12718  static const uint8_t RegAsmOffsetvlist1[] = {
12719    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12720    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12721    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12722    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12723    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12724    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12725    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12726    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12727    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12728    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12729    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12730    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12731    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12732    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12733    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12734    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12735    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12736    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12737    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12738    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12739    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12740    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12741    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12742    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12743    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12744    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12745    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12746    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12747    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12748    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12749    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12750    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12751    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12752    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12753    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12754    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12755    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12756    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12757    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12758    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12759    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12760    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12761    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12762    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12763    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12764    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12765    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12766    0, 0,
12767  };
12768
12769  static const char AsmStrsvreg[] = {
12770  /* 0 */ 'v', '1', '0', 0,
12771  /* 4 */ 'v', '2', '0', 0,
12772  /* 8 */ 'v', '3', '0', 0,
12773  /* 12 */ 'v', '0', 0,
12774  /* 15 */ 'v', '1', '1', 0,
12775  /* 19 */ 'v', '2', '1', 0,
12776  /* 23 */ 'v', '3', '1', 0,
12777  /* 27 */ 'v', '1', 0,
12778  /* 30 */ 'v', '1', '2', 0,
12779  /* 34 */ 'v', '2', '2', 0,
12780  /* 38 */ 'v', '2', 0,
12781  /* 41 */ 'v', '1', '3', 0,
12782  /* 45 */ 'v', '2', '3', 0,
12783  /* 49 */ 'v', '3', 0,
12784  /* 52 */ 'v', '1', '4', 0,
12785  /* 56 */ 'v', '2', '4', 0,
12786  /* 60 */ 'v', '4', 0,
12787  /* 63 */ 'v', '1', '5', 0,
12788  /* 67 */ 'v', '2', '5', 0,
12789  /* 71 */ 'v', '5', 0,
12790  /* 74 */ 'v', '1', '6', 0,
12791  /* 78 */ 'v', '2', '6', 0,
12792  /* 82 */ 'v', '6', 0,
12793  /* 85 */ 'v', '1', '7', 0,
12794  /* 89 */ 'v', '2', '7', 0,
12795  /* 93 */ 'v', '7', 0,
12796  /* 96 */ 'v', '1', '8', 0,
12797  /* 100 */ 'v', '2', '8', 0,
12798  /* 104 */ 'v', '8', 0,
12799  /* 107 */ 'v', '1', '9', 0,
12800  /* 111 */ 'v', '2', '9', 0,
12801  /* 115 */ 'v', '9', 0,
12802  };
12803
12804  static const uint8_t RegAsmOffsetvreg[] = {
12805    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12806    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12807    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 12, 27,
12808    38, 49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41, 52, 63,
12809    74, 85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89, 100, 111,
12810    8, 23, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12811    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12812    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12813    3, 3, 3, 3, 3, 3, 3, 3, 12, 27, 38, 49, 60, 71,
12814    82, 93, 104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107,
12815    4, 19, 34, 45, 56, 67, 78, 89, 100, 111, 8, 23, 3, 3,
12816    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12817    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12818    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12819    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12820    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12821    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12822    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12823    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12824    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12825    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12826    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12827    12, 27, 38, 49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41,
12828    52, 63, 74, 85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89,
12829    100, 111, 8, 23, 12, 27, 38, 49, 60, 71, 82, 93, 104, 115,
12830    0, 15, 30, 41, 52, 63, 74, 85, 96, 107, 4, 19, 34, 45,
12831    56, 67, 78, 89, 100, 111, 8, 23, 12, 27, 38, 49, 60, 71,
12832    82, 93, 104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107,
12833    4, 19, 34, 45, 56, 67, 78, 89, 100, 111, 8, 23, 12, 27,
12834    38, 49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41, 52, 63,
12835    74, 85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89, 100, 111,
12836    8, 23, 12, 27, 38, 49, 60, 71, 82, 93, 104, 115, 0, 15,
12837    30, 41, 52, 63, 74, 85, 96, 107, 4, 19, 34, 45, 56, 67,
12838    78, 89, 100, 111, 8, 23, 12, 27, 38, 49, 60, 71, 82, 93,
12839    104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, 4, 19,
12840    34, 45, 56, 67, 78, 89, 100, 111, 8, 23, 3, 3, 3, 3,
12841    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12842    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12843    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12844    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12845    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12846    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12847    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12848    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12849    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12850    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12851    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
12852    3, 3,
12853  };
12854
12855  switch(AltIdx) {
12856  default: llvm_unreachable("Invalid register alt name index!");
12857  case AArch64::NoRegAltName:
12858    assert(*(AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1]) &&
12859           "Invalid alt name index for register!");
12860    return AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[RegNo-1];
12861  case AArch64::vlist1:
12862    assert(*(AsmStrsvlist1+RegAsmOffsetvlist1[RegNo-1]) &&
12863           "Invalid alt name index for register!");
12864    return AsmStrsvlist1+RegAsmOffsetvlist1[RegNo-1];
12865  case AArch64::vreg:
12866    assert(*(AsmStrsvreg+RegAsmOffsetvreg[RegNo-1]) &&
12867           "Invalid alt name index for register!");
12868    return AsmStrsvreg+RegAsmOffsetvreg[RegNo-1];
12869  }
12870}
12871
12872#ifdef PRINT_ALIAS_INSTR
12873#undef PRINT_ALIAS_INSTR
12874
12875static bool AArch64InstPrinterValidateMCOperand(const MCOperand &MCOp,
12876                  const MCSubtargetInfo &STI,
12877                  unsigned PredicateIndex);
12878bool AArch64InstPrinter::printAliasInstr(const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &OS) {
12879  const char *AsmString;
12880  switch (MI->getOpcode()) {
12881  default: return false;
12882  case AArch64::ADDSWri:
12883    if (MI->getNumOperands() == 4 &&
12884        MI->getOperand(0).getReg() == AArch64::WZR &&
12885        MI->getOperand(1).isReg() &&
12886        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) {
12887      // (ADDSWri WZR, GPR32sp:$src, addsub_shifted_imm32:$imm)
12888      AsmString = "cmn	$\x02, $\xFF\x03\x01";
12889      break;
12890    }
12891    return false;
12892  case AArch64::ADDSWrs:
12893    if (MI->getNumOperands() == 4 &&
12894        MI->getOperand(0).getReg() == AArch64::WZR &&
12895        MI->getOperand(1).isReg() &&
12896        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
12897        MI->getOperand(2).isReg() &&
12898        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
12899        MI->getOperand(3).isImm() &&
12900        MI->getOperand(3).getImm() == 0) {
12901      // (ADDSWrs WZR, GPR32:$src1, GPR32:$src2, 0)
12902      AsmString = "cmn	$\x02, $\x03";
12903      break;
12904    }
12905    if (MI->getNumOperands() == 4 &&
12906        MI->getOperand(0).getReg() == AArch64::WZR &&
12907        MI->getOperand(1).isReg() &&
12908        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
12909        MI->getOperand(2).isReg() &&
12910        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
12911      // (ADDSWrs WZR, GPR32:$src1, GPR32:$src2, arith_shift32:$sh)
12912      AsmString = "cmn	$\x02, $\x03$\xFF\x04\x02";
12913      break;
12914    }
12915    if (MI->getNumOperands() == 4 &&
12916        MI->getOperand(0).isReg() &&
12917        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
12918        MI->getOperand(1).isReg() &&
12919        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
12920        MI->getOperand(2).isReg() &&
12921        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
12922        MI->getOperand(3).isImm() &&
12923        MI->getOperand(3).getImm() == 0) {
12924      // (ADDSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
12925      AsmString = "adds	$\x01, $\x02, $\x03";
12926      break;
12927    }
12928    return false;
12929  case AArch64::ADDSWrx:
12930    if (MI->getNumOperands() == 4 &&
12931        MI->getOperand(0).getReg() == AArch64::WZR &&
12932        MI->getOperand(1).isReg() &&
12933        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
12934        MI->getOperand(2).isReg() &&
12935        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
12936        MI->getOperand(3).isImm() &&
12937        MI->getOperand(3).getImm() == 16) {
12938      // (ADDSWrx WZR, GPR32sponly:$src1, GPR32:$src2, 16)
12939      AsmString = "cmn	$\x02, $\x03";
12940      break;
12941    }
12942    if (MI->getNumOperands() == 4 &&
12943        MI->getOperand(0).getReg() == AArch64::WZR &&
12944        MI->getOperand(1).isReg() &&
12945        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
12946        MI->getOperand(2).isReg() &&
12947        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
12948      // (ADDSWrx WZR, GPR32sp:$src1, GPR32:$src2, arith_extend:$sh)
12949      AsmString = "cmn	$\x02, $\x03$\xFF\x04\x03";
12950      break;
12951    }
12952    if (MI->getNumOperands() == 4 &&
12953        MI->getOperand(0).isReg() &&
12954        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
12955        MI->getOperand(1).isReg() &&
12956        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
12957        MI->getOperand(2).isReg() &&
12958        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
12959        MI->getOperand(3).isImm() &&
12960        MI->getOperand(3).getImm() == 16) {
12961      // (ADDSWrx GPR32:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
12962      AsmString = "adds	$\x01, $\x02, $\x03";
12963      break;
12964    }
12965    return false;
12966  case AArch64::ADDSXri:
12967    if (MI->getNumOperands() == 4 &&
12968        MI->getOperand(0).getReg() == AArch64::XZR &&
12969        MI->getOperand(1).isReg() &&
12970        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) {
12971      // (ADDSXri XZR, GPR64sp:$src, addsub_shifted_imm64:$imm)
12972      AsmString = "cmn	$\x02, $\xFF\x03\x01";
12973      break;
12974    }
12975    return false;
12976  case AArch64::ADDSXrs:
12977    if (MI->getNumOperands() == 4 &&
12978        MI->getOperand(0).getReg() == AArch64::XZR &&
12979        MI->getOperand(1).isReg() &&
12980        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
12981        MI->getOperand(2).isReg() &&
12982        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
12983        MI->getOperand(3).isImm() &&
12984        MI->getOperand(3).getImm() == 0) {
12985      // (ADDSXrs XZR, GPR64:$src1, GPR64:$src2, 0)
12986      AsmString = "cmn	$\x02, $\x03";
12987      break;
12988    }
12989    if (MI->getNumOperands() == 4 &&
12990        MI->getOperand(0).getReg() == AArch64::XZR &&
12991        MI->getOperand(1).isReg() &&
12992        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
12993        MI->getOperand(2).isReg() &&
12994        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
12995      // (ADDSXrs XZR, GPR64:$src1, GPR64:$src2, arith_shift64:$sh)
12996      AsmString = "cmn	$\x02, $\x03$\xFF\x04\x02";
12997      break;
12998    }
12999    if (MI->getNumOperands() == 4 &&
13000        MI->getOperand(0).isReg() &&
13001        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13002        MI->getOperand(1).isReg() &&
13003        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13004        MI->getOperand(2).isReg() &&
13005        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13006        MI->getOperand(3).isImm() &&
13007        MI->getOperand(3).getImm() == 0) {
13008      // (ADDSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
13009      AsmString = "adds	$\x01, $\x02, $\x03";
13010      break;
13011    }
13012    return false;
13013  case AArch64::ADDSXrx:
13014    if (MI->getNumOperands() == 4 &&
13015        MI->getOperand(0).getReg() == AArch64::XZR &&
13016        MI->getOperand(1).isReg() &&
13017        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
13018        MI->getOperand(2).isReg() &&
13019        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
13020      // (ADDSXrx XZR, GPR64sp:$src1, GPR32:$src2, arith_extend:$sh)
13021      AsmString = "cmn	$\x02, $\x03$\xFF\x04\x03";
13022      break;
13023    }
13024    return false;
13025  case AArch64::ADDSXrx64:
13026    if (MI->getNumOperands() == 4 &&
13027        MI->getOperand(0).getReg() == AArch64::XZR &&
13028        MI->getOperand(1).isReg() &&
13029        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
13030        MI->getOperand(2).isReg() &&
13031        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13032        MI->getOperand(3).isImm() &&
13033        MI->getOperand(3).getImm() == 24) {
13034      // (ADDSXrx64 XZR, GPR64sponly:$src1, GPR64:$src2, 24)
13035      AsmString = "cmn	$\x02, $\x03";
13036      break;
13037    }
13038    if (MI->getNumOperands() == 4 &&
13039        MI->getOperand(0).getReg() == AArch64::XZR &&
13040        MI->getOperand(1).isReg() &&
13041        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
13042        MI->getOperand(2).isReg() &&
13043        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
13044      // (ADDSXrx64 XZR, GPR64sp:$src1, GPR64:$src2, arith_extendlsl64:$sh)
13045      AsmString = "cmn	$\x02, $\x03$\xFF\x04\x03";
13046      break;
13047    }
13048    if (MI->getNumOperands() == 4 &&
13049        MI->getOperand(0).isReg() &&
13050        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13051        MI->getOperand(1).isReg() &&
13052        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
13053        MI->getOperand(2).isReg() &&
13054        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13055        MI->getOperand(3).isImm() &&
13056        MI->getOperand(3).getImm() == 24) {
13057      // (ADDSXrx64 GPR64:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
13058      AsmString = "adds	$\x01, $\x02, $\x03";
13059      break;
13060    }
13061    return false;
13062  case AArch64::ADDWri:
13063    if (MI->getNumOperands() == 4 &&
13064        MI->getOperand(0).isReg() &&
13065        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
13066        MI->getOperand(1).isReg() &&
13067        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
13068        MI->getOperand(2).isImm() &&
13069        MI->getOperand(2).getImm() == 0 &&
13070        MI->getOperand(3).isImm() &&
13071        MI->getOperand(3).getImm() == 0) {
13072      // (ADDWri GPR32sponly:$dst, GPR32sp:$src, 0, 0)
13073      AsmString = "mov $\x01, $\x02";
13074      break;
13075    }
13076    if (MI->getNumOperands() == 4 &&
13077        MI->getOperand(0).isReg() &&
13078        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
13079        MI->getOperand(1).isReg() &&
13080        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
13081        MI->getOperand(2).isImm() &&
13082        MI->getOperand(2).getImm() == 0 &&
13083        MI->getOperand(3).isImm() &&
13084        MI->getOperand(3).getImm() == 0) {
13085      // (ADDWri GPR32sp:$dst, GPR32sponly:$src, 0, 0)
13086      AsmString = "mov $\x01, $\x02";
13087      break;
13088    }
13089    return false;
13090  case AArch64::ADDWrs:
13091    if (MI->getNumOperands() == 4 &&
13092        MI->getOperand(0).isReg() &&
13093        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13094        MI->getOperand(1).isReg() &&
13095        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13096        MI->getOperand(2).isReg() &&
13097        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13098        MI->getOperand(3).isImm() &&
13099        MI->getOperand(3).getImm() == 0) {
13100      // (ADDWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
13101      AsmString = "add	$\x01, $\x02, $\x03";
13102      break;
13103    }
13104    return false;
13105  case AArch64::ADDWrx:
13106    if (MI->getNumOperands() == 4 &&
13107        MI->getOperand(0).isReg() &&
13108        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
13109        MI->getOperand(1).isReg() &&
13110        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
13111        MI->getOperand(2).isReg() &&
13112        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13113        MI->getOperand(3).isImm() &&
13114        MI->getOperand(3).getImm() == 16) {
13115      // (ADDWrx GPR32sponly:$dst, GPR32sp:$src1, GPR32:$src2, 16)
13116      AsmString = "add	$\x01, $\x02, $\x03";
13117      break;
13118    }
13119    if (MI->getNumOperands() == 4 &&
13120        MI->getOperand(0).isReg() &&
13121        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
13122        MI->getOperand(1).isReg() &&
13123        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
13124        MI->getOperand(2).isReg() &&
13125        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13126        MI->getOperand(3).isImm() &&
13127        MI->getOperand(3).getImm() == 16) {
13128      // (ADDWrx GPR32sp:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
13129      AsmString = "add	$\x01, $\x02, $\x03";
13130      break;
13131    }
13132    return false;
13133  case AArch64::ADDXri:
13134    if (MI->getNumOperands() == 4 &&
13135        MI->getOperand(0).isReg() &&
13136        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
13137        MI->getOperand(1).isReg() &&
13138        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
13139        MI->getOperand(2).isImm() &&
13140        MI->getOperand(2).getImm() == 0 &&
13141        MI->getOperand(3).isImm() &&
13142        MI->getOperand(3).getImm() == 0) {
13143      // (ADDXri GPR64sponly:$dst, GPR64sp:$src, 0, 0)
13144      AsmString = "mov $\x01, $\x02";
13145      break;
13146    }
13147    if (MI->getNumOperands() == 4 &&
13148        MI->getOperand(0).isReg() &&
13149        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
13150        MI->getOperand(1).isReg() &&
13151        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
13152        MI->getOperand(2).isImm() &&
13153        MI->getOperand(2).getImm() == 0 &&
13154        MI->getOperand(3).isImm() &&
13155        MI->getOperand(3).getImm() == 0) {
13156      // (ADDXri GPR64sp:$dst, GPR64sponly:$src, 0, 0)
13157      AsmString = "mov $\x01, $\x02";
13158      break;
13159    }
13160    return false;
13161  case AArch64::ADDXrs:
13162    if (MI->getNumOperands() == 4 &&
13163        MI->getOperand(0).isReg() &&
13164        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13165        MI->getOperand(1).isReg() &&
13166        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13167        MI->getOperand(2).isReg() &&
13168        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13169        MI->getOperand(3).isImm() &&
13170        MI->getOperand(3).getImm() == 0) {
13171      // (ADDXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
13172      AsmString = "add	$\x01, $\x02, $\x03";
13173      break;
13174    }
13175    return false;
13176  case AArch64::ADDXrx64:
13177    if (MI->getNumOperands() == 4 &&
13178        MI->getOperand(0).isReg() &&
13179        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
13180        MI->getOperand(1).isReg() &&
13181        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
13182        MI->getOperand(2).isReg() &&
13183        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13184        MI->getOperand(3).isImm() &&
13185        MI->getOperand(3).getImm() == 24) {
13186      // (ADDXrx64 GPR64sponly:$dst, GPR64sp:$src1, GPR64:$src2, 24)
13187      AsmString = "add	$\x01, $\x02, $\x03";
13188      break;
13189    }
13190    if (MI->getNumOperands() == 4 &&
13191        MI->getOperand(0).isReg() &&
13192        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
13193        MI->getOperand(1).isReg() &&
13194        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
13195        MI->getOperand(2).isReg() &&
13196        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13197        MI->getOperand(3).isImm() &&
13198        MI->getOperand(3).getImm() == 24) {
13199      // (ADDXrx64 GPR64sp:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
13200      AsmString = "add	$\x01, $\x02, $\x03";
13201      break;
13202    }
13203    return false;
13204  case AArch64::ANDSWri:
13205    if (MI->getNumOperands() == 3 &&
13206        MI->getOperand(0).getReg() == AArch64::WZR &&
13207        MI->getOperand(1).isReg() &&
13208        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg())) {
13209      // (ANDSWri WZR, GPR32:$src1, logical_imm32:$src2)
13210      AsmString = "tst $\x02, $\xFF\x03\x04";
13211      break;
13212    }
13213    return false;
13214  case AArch64::ANDSWrs:
13215    if (MI->getNumOperands() == 4 &&
13216        MI->getOperand(0).getReg() == AArch64::WZR &&
13217        MI->getOperand(1).isReg() &&
13218        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13219        MI->getOperand(2).isReg() &&
13220        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13221        MI->getOperand(3).isImm() &&
13222        MI->getOperand(3).getImm() == 0) {
13223      // (ANDSWrs WZR, GPR32:$src1, GPR32:$src2, 0)
13224      AsmString = "tst $\x02, $\x03";
13225      break;
13226    }
13227    if (MI->getNumOperands() == 4 &&
13228        MI->getOperand(0).getReg() == AArch64::WZR &&
13229        MI->getOperand(1).isReg() &&
13230        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13231        MI->getOperand(2).isReg() &&
13232        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
13233      // (ANDSWrs WZR, GPR32:$src1, GPR32:$src2, logical_shift32:$sh)
13234      AsmString = "tst $\x02, $\x03$\xFF\x04\x02";
13235      break;
13236    }
13237    if (MI->getNumOperands() == 4 &&
13238        MI->getOperand(0).isReg() &&
13239        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13240        MI->getOperand(1).isReg() &&
13241        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13242        MI->getOperand(2).isReg() &&
13243        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13244        MI->getOperand(3).isImm() &&
13245        MI->getOperand(3).getImm() == 0) {
13246      // (ANDSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
13247      AsmString = "ands	$\x01, $\x02, $\x03";
13248      break;
13249    }
13250    return false;
13251  case AArch64::ANDSXri:
13252    if (MI->getNumOperands() == 3 &&
13253        MI->getOperand(0).getReg() == AArch64::XZR &&
13254        MI->getOperand(1).isReg() &&
13255        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg())) {
13256      // (ANDSXri XZR, GPR64:$src1, logical_imm64:$src2)
13257      AsmString = "tst $\x02, $\xFF\x03\x05";
13258      break;
13259    }
13260    return false;
13261  case AArch64::ANDSXrs:
13262    if (MI->getNumOperands() == 4 &&
13263        MI->getOperand(0).getReg() == AArch64::XZR &&
13264        MI->getOperand(1).isReg() &&
13265        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13266        MI->getOperand(2).isReg() &&
13267        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13268        MI->getOperand(3).isImm() &&
13269        MI->getOperand(3).getImm() == 0) {
13270      // (ANDSXrs XZR, GPR64:$src1, GPR64:$src2, 0)
13271      AsmString = "tst $\x02, $\x03";
13272      break;
13273    }
13274    if (MI->getNumOperands() == 4 &&
13275        MI->getOperand(0).getReg() == AArch64::XZR &&
13276        MI->getOperand(1).isReg() &&
13277        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13278        MI->getOperand(2).isReg() &&
13279        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
13280      // (ANDSXrs XZR, GPR64:$src1, GPR64:$src2, logical_shift64:$sh)
13281      AsmString = "tst $\x02, $\x03$\xFF\x04\x02";
13282      break;
13283    }
13284    if (MI->getNumOperands() == 4 &&
13285        MI->getOperand(0).isReg() &&
13286        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13287        MI->getOperand(1).isReg() &&
13288        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13289        MI->getOperand(2).isReg() &&
13290        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13291        MI->getOperand(3).isImm() &&
13292        MI->getOperand(3).getImm() == 0) {
13293      // (ANDSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
13294      AsmString = "ands	$\x01, $\x02, $\x03";
13295      break;
13296    }
13297    return false;
13298  case AArch64::ANDS_PPzPP:
13299    if (MI->getNumOperands() == 4 &&
13300        MI->getOperand(0).isReg() &&
13301        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13302        MI->getOperand(1).isReg() &&
13303        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
13304        MI->getOperand(2).isReg() &&
13305        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
13306        MI->getOperand(3).isReg() &&
13307        MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
13308        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13309      // (ANDS_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPR8:$Pn)
13310      AsmString = "movs $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06";
13311      break;
13312    }
13313    return false;
13314  case AArch64::ANDWrs:
13315    if (MI->getNumOperands() == 4 &&
13316        MI->getOperand(0).isReg() &&
13317        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13318        MI->getOperand(1).isReg() &&
13319        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13320        MI->getOperand(2).isReg() &&
13321        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13322        MI->getOperand(3).isImm() &&
13323        MI->getOperand(3).getImm() == 0) {
13324      // (ANDWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
13325      AsmString = "and	$\x01, $\x02, $\x03";
13326      break;
13327    }
13328    return false;
13329  case AArch64::ANDXrs:
13330    if (MI->getNumOperands() == 4 &&
13331        MI->getOperand(0).isReg() &&
13332        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13333        MI->getOperand(1).isReg() &&
13334        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13335        MI->getOperand(2).isReg() &&
13336        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13337        MI->getOperand(3).isImm() &&
13338        MI->getOperand(3).getImm() == 0) {
13339      // (ANDXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
13340      AsmString = "and	$\x01, $\x02, $\x03";
13341      break;
13342    }
13343    return false;
13344  case AArch64::AND_PPzPP:
13345    if (MI->getNumOperands() == 4 &&
13346        MI->getOperand(0).isReg() &&
13347        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13348        MI->getOperand(1).isReg() &&
13349        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
13350        MI->getOperand(2).isReg() &&
13351        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
13352        MI->getOperand(3).isReg() &&
13353        MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
13354        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13355      // (AND_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPR8:$Pn)
13356      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06";
13357      break;
13358    }
13359    return false;
13360  case AArch64::AND_ZI:
13361    if (MI->getNumOperands() == 3 &&
13362        MI->getOperand(0).isReg() &&
13363        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13364        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
13365        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13366      // (AND_ZI ZPR8:$Zdn, sve_logical_imm8:$imm)
13367      AsmString = "and	$\xFF\x01\x06, $\xFF\x01\x06, $\xFF\x03\x08";
13368      break;
13369    }
13370    if (MI->getNumOperands() == 3 &&
13371        MI->getOperand(0).isReg() &&
13372        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13373        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
13374        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13375      // (AND_ZI ZPR16:$Zdn, sve_logical_imm16:$imm)
13376      AsmString = "and	$\xFF\x01\x09, $\xFF\x01\x09, $\xFF\x03\x0A";
13377      break;
13378    }
13379    if (MI->getNumOperands() == 3 &&
13380        MI->getOperand(0).isReg() &&
13381        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13382        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
13383        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13384      // (AND_ZI ZPR32:$Zdn, sve_logical_imm32:$imm)
13385      AsmString = "and	$\xFF\x01\x0B, $\xFF\x01\x0B, $\xFF\x03\x04";
13386      break;
13387    }
13388    return false;
13389  case AArch64::BICSWrs:
13390    if (MI->getNumOperands() == 4 &&
13391        MI->getOperand(0).isReg() &&
13392        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13393        MI->getOperand(1).isReg() &&
13394        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13395        MI->getOperand(2).isReg() &&
13396        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13397        MI->getOperand(3).isImm() &&
13398        MI->getOperand(3).getImm() == 0) {
13399      // (BICSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
13400      AsmString = "bics	$\x01, $\x02, $\x03";
13401      break;
13402    }
13403    return false;
13404  case AArch64::BICSXrs:
13405    if (MI->getNumOperands() == 4 &&
13406        MI->getOperand(0).isReg() &&
13407        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13408        MI->getOperand(1).isReg() &&
13409        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13410        MI->getOperand(2).isReg() &&
13411        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13412        MI->getOperand(3).isImm() &&
13413        MI->getOperand(3).getImm() == 0) {
13414      // (BICSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
13415      AsmString = "bics	$\x01, $\x02, $\x03";
13416      break;
13417    }
13418    return false;
13419  case AArch64::BICWrs:
13420    if (MI->getNumOperands() == 4 &&
13421        MI->getOperand(0).isReg() &&
13422        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13423        MI->getOperand(1).isReg() &&
13424        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13425        MI->getOperand(2).isReg() &&
13426        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
13427        MI->getOperand(3).isImm() &&
13428        MI->getOperand(3).getImm() == 0) {
13429      // (BICWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
13430      AsmString = "bic	$\x01, $\x02, $\x03";
13431      break;
13432    }
13433    return false;
13434  case AArch64::BICXrs:
13435    if (MI->getNumOperands() == 4 &&
13436        MI->getOperand(0).isReg() &&
13437        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13438        MI->getOperand(1).isReg() &&
13439        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13440        MI->getOperand(2).isReg() &&
13441        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
13442        MI->getOperand(3).isImm() &&
13443        MI->getOperand(3).getImm() == 0) {
13444      // (BICXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
13445      AsmString = "bic	$\x01, $\x02, $\x03";
13446      break;
13447    }
13448    return false;
13449  case AArch64::CLREX:
13450    if (MI->getNumOperands() == 1 &&
13451        MI->getOperand(0).isImm() &&
13452        MI->getOperand(0).getImm() == 15) {
13453      // (CLREX 15)
13454      AsmString = "clrex";
13455      break;
13456    }
13457    return false;
13458  case AArch64::CNTB_XPiI:
13459    if (MI->getNumOperands() == 3 &&
13460        MI->getOperand(0).isReg() &&
13461        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13462        MI->getOperand(1).isImm() &&
13463        MI->getOperand(1).getImm() == 31 &&
13464        MI->getOperand(2).isImm() &&
13465        MI->getOperand(2).getImm() == 1 &&
13466        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13467      // (CNTB_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1)
13468      AsmString = "cntb	$\x01";
13469      break;
13470    }
13471    if (MI->getNumOperands() == 3 &&
13472        MI->getOperand(0).isReg() &&
13473        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13474        MI->getOperand(2).isImm() &&
13475        MI->getOperand(2).getImm() == 1 &&
13476        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13477      // (CNTB_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1)
13478      AsmString = "cntb	$\x01, $\xFF\x02\x0E";
13479      break;
13480    }
13481    return false;
13482  case AArch64::CNTD_XPiI:
13483    if (MI->getNumOperands() == 3 &&
13484        MI->getOperand(0).isReg() &&
13485        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13486        MI->getOperand(1).isImm() &&
13487        MI->getOperand(1).getImm() == 31 &&
13488        MI->getOperand(2).isImm() &&
13489        MI->getOperand(2).getImm() == 1 &&
13490        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13491      // (CNTD_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1)
13492      AsmString = "cntd	$\x01";
13493      break;
13494    }
13495    if (MI->getNumOperands() == 3 &&
13496        MI->getOperand(0).isReg() &&
13497        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13498        MI->getOperand(2).isImm() &&
13499        MI->getOperand(2).getImm() == 1 &&
13500        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13501      // (CNTD_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1)
13502      AsmString = "cntd	$\x01, $\xFF\x02\x0E";
13503      break;
13504    }
13505    return false;
13506  case AArch64::CNTH_XPiI:
13507    if (MI->getNumOperands() == 3 &&
13508        MI->getOperand(0).isReg() &&
13509        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13510        MI->getOperand(1).isImm() &&
13511        MI->getOperand(1).getImm() == 31 &&
13512        MI->getOperand(2).isImm() &&
13513        MI->getOperand(2).getImm() == 1 &&
13514        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13515      // (CNTH_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1)
13516      AsmString = "cnth	$\x01";
13517      break;
13518    }
13519    if (MI->getNumOperands() == 3 &&
13520        MI->getOperand(0).isReg() &&
13521        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13522        MI->getOperand(2).isImm() &&
13523        MI->getOperand(2).getImm() == 1 &&
13524        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13525      // (CNTH_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1)
13526      AsmString = "cnth	$\x01, $\xFF\x02\x0E";
13527      break;
13528    }
13529    return false;
13530  case AArch64::CNTW_XPiI:
13531    if (MI->getNumOperands() == 3 &&
13532        MI->getOperand(0).isReg() &&
13533        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13534        MI->getOperand(1).isImm() &&
13535        MI->getOperand(1).getImm() == 31 &&
13536        MI->getOperand(2).isImm() &&
13537        MI->getOperand(2).getImm() == 1 &&
13538        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13539      // (CNTW_XPiI GPR64:$Rd, { 1, 1, 1, 1, 1 }, 1)
13540      AsmString = "cntw	$\x01";
13541      break;
13542    }
13543    if (MI->getNumOperands() == 3 &&
13544        MI->getOperand(0).isReg() &&
13545        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13546        MI->getOperand(2).isImm() &&
13547        MI->getOperand(2).getImm() == 1 &&
13548        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13549      // (CNTW_XPiI GPR64:$Rd, sve_pred_enum:$pattern, 1)
13550      AsmString = "cntw	$\x01, $\xFF\x02\x0E";
13551      break;
13552    }
13553    return false;
13554  case AArch64::CPY_ZPmI_B:
13555    if (MI->getNumOperands() == 5 &&
13556        MI->getOperand(0).isReg() &&
13557        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13558        MI->getOperand(2).isReg() &&
13559        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
13560        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13561      // (CPY_ZPmI_B ZPR8:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i8:$imm)
13562      AsmString = "mov $\xFF\x01\x06, $\xFF\x03\x07/m, $\xFF\x04\x0F";
13563      break;
13564    }
13565    return false;
13566  case AArch64::CPY_ZPmI_D:
13567    if (MI->getNumOperands() == 5 &&
13568        MI->getOperand(0).isReg() &&
13569        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13570        MI->getOperand(2).isReg() &&
13571        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
13572        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13573      // (CPY_ZPmI_D ZPR64:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i64:$imm)
13574      AsmString = "mov $\xFF\x01\x10, $\xFF\x03\x07/m, $\xFF\x04\x11";
13575      break;
13576    }
13577    return false;
13578  case AArch64::CPY_ZPmI_H:
13579    if (MI->getNumOperands() == 5 &&
13580        MI->getOperand(0).isReg() &&
13581        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13582        MI->getOperand(2).isReg() &&
13583        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
13584        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13585      // (CPY_ZPmI_H ZPR16:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i16:$imm)
13586      AsmString = "mov $\xFF\x01\x09, $\xFF\x03\x07/m, $\xFF\x04\x12";
13587      break;
13588    }
13589    return false;
13590  case AArch64::CPY_ZPmI_S:
13591    if (MI->getNumOperands() == 5 &&
13592        MI->getOperand(0).isReg() &&
13593        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13594        MI->getOperand(2).isReg() &&
13595        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
13596        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13597      // (CPY_ZPmI_S ZPR32:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i32:$imm)
13598      AsmString = "mov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\xFF\x04\x13";
13599      break;
13600    }
13601    return false;
13602  case AArch64::CPY_ZPmR_B:
13603    if (MI->getNumOperands() == 4 &&
13604        MI->getOperand(0).isReg() &&
13605        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13606        MI->getOperand(2).isReg() &&
13607        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13608        MI->getOperand(3).isReg() &&
13609        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
13610        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13611      // (CPY_ZPmR_B ZPR8:$Zd, PPR3bAny:$Pg, GPR32sp:$Rn)
13612      AsmString = "mov $\xFF\x01\x06, $\xFF\x03\x07/m, $\x04";
13613      break;
13614    }
13615    return false;
13616  case AArch64::CPY_ZPmR_D:
13617    if (MI->getNumOperands() == 4 &&
13618        MI->getOperand(0).isReg() &&
13619        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13620        MI->getOperand(2).isReg() &&
13621        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13622        MI->getOperand(3).isReg() &&
13623        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(3).getReg()) &&
13624        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13625      // (CPY_ZPmR_D ZPR64:$Zd, PPR3bAny:$Pg, GPR64sp:$Rn)
13626      AsmString = "mov $\xFF\x01\x10, $\xFF\x03\x07/m, $\x04";
13627      break;
13628    }
13629    return false;
13630  case AArch64::CPY_ZPmR_H:
13631    if (MI->getNumOperands() == 4 &&
13632        MI->getOperand(0).isReg() &&
13633        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13634        MI->getOperand(2).isReg() &&
13635        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13636        MI->getOperand(3).isReg() &&
13637        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
13638        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13639      // (CPY_ZPmR_H ZPR16:$Zd, PPR3bAny:$Pg, GPR32sp:$Rn)
13640      AsmString = "mov $\xFF\x01\x09, $\xFF\x03\x07/m, $\x04";
13641      break;
13642    }
13643    return false;
13644  case AArch64::CPY_ZPmR_S:
13645    if (MI->getNumOperands() == 4 &&
13646        MI->getOperand(0).isReg() &&
13647        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13648        MI->getOperand(2).isReg() &&
13649        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13650        MI->getOperand(3).isReg() &&
13651        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
13652        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13653      // (CPY_ZPmR_S ZPR32:$Zd, PPR3bAny:$Pg, GPR32sp:$Rn)
13654      AsmString = "mov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\x04";
13655      break;
13656    }
13657    return false;
13658  case AArch64::CPY_ZPmV_B:
13659    if (MI->getNumOperands() == 4 &&
13660        MI->getOperand(0).isReg() &&
13661        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13662        MI->getOperand(2).isReg() &&
13663        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13664        MI->getOperand(3).isReg() &&
13665        MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(3).getReg()) &&
13666        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13667      // (CPY_ZPmV_B ZPR8:$Zd, PPR3bAny:$Pg, FPR8:$Vn)
13668      AsmString = "mov $\xFF\x01\x06, $\xFF\x03\x07/m, $\x04";
13669      break;
13670    }
13671    return false;
13672  case AArch64::CPY_ZPmV_D:
13673    if (MI->getNumOperands() == 4 &&
13674        MI->getOperand(0).isReg() &&
13675        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13676        MI->getOperand(2).isReg() &&
13677        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13678        MI->getOperand(3).isReg() &&
13679        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(3).getReg()) &&
13680        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13681      // (CPY_ZPmV_D ZPR64:$Zd, PPR3bAny:$Pg, FPR64:$Vn)
13682      AsmString = "mov $\xFF\x01\x10, $\xFF\x03\x07/m, $\x04";
13683      break;
13684    }
13685    return false;
13686  case AArch64::CPY_ZPmV_H:
13687    if (MI->getNumOperands() == 4 &&
13688        MI->getOperand(0).isReg() &&
13689        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13690        MI->getOperand(2).isReg() &&
13691        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13692        MI->getOperand(3).isReg() &&
13693        MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(3).getReg()) &&
13694        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13695      // (CPY_ZPmV_H ZPR16:$Zd, PPR3bAny:$Pg, FPR16:$Vn)
13696      AsmString = "mov $\xFF\x01\x09, $\xFF\x03\x07/m, $\x04";
13697      break;
13698    }
13699    return false;
13700  case AArch64::CPY_ZPmV_S:
13701    if (MI->getNumOperands() == 4 &&
13702        MI->getOperand(0).isReg() &&
13703        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13704        MI->getOperand(2).isReg() &&
13705        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
13706        MI->getOperand(3).isReg() &&
13707        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
13708        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13709      // (CPY_ZPmV_S ZPR32:$Zd, PPR3bAny:$Pg, FPR32:$Vn)
13710      AsmString = "mov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\x04";
13711      break;
13712    }
13713    return false;
13714  case AArch64::CPY_ZPzI_B:
13715    if (MI->getNumOperands() == 4 &&
13716        MI->getOperand(0).isReg() &&
13717        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13718        MI->getOperand(1).isReg() &&
13719        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
13720        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13721      // (CPY_ZPzI_B ZPR8:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i8:$imm)
13722      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x0F";
13723      break;
13724    }
13725    return false;
13726  case AArch64::CPY_ZPzI_D:
13727    if (MI->getNumOperands() == 4 &&
13728        MI->getOperand(0).isReg() &&
13729        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13730        MI->getOperand(1).isReg() &&
13731        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
13732        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13733      // (CPY_ZPzI_D ZPR64:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i64:$imm)
13734      AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x07/z, $\xFF\x03\x11";
13735      break;
13736    }
13737    return false;
13738  case AArch64::CPY_ZPzI_H:
13739    if (MI->getNumOperands() == 4 &&
13740        MI->getOperand(0).isReg() &&
13741        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13742        MI->getOperand(1).isReg() &&
13743        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
13744        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13745      // (CPY_ZPzI_H ZPR16:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i16:$imm)
13746      AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x07/z, $\xFF\x03\x12";
13747      break;
13748    }
13749    return false;
13750  case AArch64::CPY_ZPzI_S:
13751    if (MI->getNumOperands() == 4 &&
13752        MI->getOperand(0).isReg() &&
13753        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13754        MI->getOperand(1).isReg() &&
13755        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
13756        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13757      // (CPY_ZPzI_S ZPR32:$Zd, PPRAny:$Pg, cpy_imm8_opt_lsl_i32:$imm)
13758      AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x07/z, $\xFF\x03\x13";
13759      break;
13760    }
13761    return false;
13762  case AArch64::CSINCWr:
13763    if (MI->getNumOperands() == 4 &&
13764        MI->getOperand(0).isReg() &&
13765        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13766        MI->getOperand(1).getReg() == AArch64::WZR &&
13767        MI->getOperand(2).getReg() == AArch64::WZR &&
13768        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13769      // (CSINCWr GPR32:$dst, WZR, WZR, inv_ccode:$cc)
13770      AsmString = "cset $\x01, $\xFF\x04\x14";
13771      break;
13772    }
13773    if (MI->getNumOperands() == 4 &&
13774        MI->getOperand(0).isReg() &&
13775        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13776        MI->getOperand(1).isReg() &&
13777        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13778        MI->getOperand(2).isReg() &&
13779        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
13780        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13781      // (CSINCWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc)
13782      AsmString = "cinc $\x01, $\x02, $\xFF\x04\x14";
13783      break;
13784    }
13785    return false;
13786  case AArch64::CSINCXr:
13787    if (MI->getNumOperands() == 4 &&
13788        MI->getOperand(0).isReg() &&
13789        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13790        MI->getOperand(1).getReg() == AArch64::XZR &&
13791        MI->getOperand(2).getReg() == AArch64::XZR &&
13792        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13793      // (CSINCXr GPR64:$dst, XZR, XZR, inv_ccode:$cc)
13794      AsmString = "cset $\x01, $\xFF\x04\x14";
13795      break;
13796    }
13797    if (MI->getNumOperands() == 4 &&
13798        MI->getOperand(0).isReg() &&
13799        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13800        MI->getOperand(1).isReg() &&
13801        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13802        MI->getOperand(2).isReg() &&
13803        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
13804        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13805      // (CSINCXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc)
13806      AsmString = "cinc $\x01, $\x02, $\xFF\x04\x14";
13807      break;
13808    }
13809    return false;
13810  case AArch64::CSINVWr:
13811    if (MI->getNumOperands() == 4 &&
13812        MI->getOperand(0).isReg() &&
13813        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13814        MI->getOperand(1).getReg() == AArch64::WZR &&
13815        MI->getOperand(2).getReg() == AArch64::WZR &&
13816        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13817      // (CSINVWr GPR32:$dst, WZR, WZR, inv_ccode:$cc)
13818      AsmString = "csetm $\x01, $\xFF\x04\x14";
13819      break;
13820    }
13821    if (MI->getNumOperands() == 4 &&
13822        MI->getOperand(0).isReg() &&
13823        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13824        MI->getOperand(1).isReg() &&
13825        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13826        MI->getOperand(2).isReg() &&
13827        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
13828        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13829      // (CSINVWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc)
13830      AsmString = "cinv $\x01, $\x02, $\xFF\x04\x14";
13831      break;
13832    }
13833    return false;
13834  case AArch64::CSINVXr:
13835    if (MI->getNumOperands() == 4 &&
13836        MI->getOperand(0).isReg() &&
13837        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13838        MI->getOperand(1).getReg() == AArch64::XZR &&
13839        MI->getOperand(2).getReg() == AArch64::XZR &&
13840        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13841      // (CSINVXr GPR64:$dst, XZR, XZR, inv_ccode:$cc)
13842      AsmString = "csetm $\x01, $\xFF\x04\x14";
13843      break;
13844    }
13845    if (MI->getNumOperands() == 4 &&
13846        MI->getOperand(0).isReg() &&
13847        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13848        MI->getOperand(1).isReg() &&
13849        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13850        MI->getOperand(2).isReg() &&
13851        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
13852        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13853      // (CSINVXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc)
13854      AsmString = "cinv $\x01, $\x02, $\xFF\x04\x14";
13855      break;
13856    }
13857    return false;
13858  case AArch64::CSNEGWr:
13859    if (MI->getNumOperands() == 4 &&
13860        MI->getOperand(0).isReg() &&
13861        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
13862        MI->getOperand(1).isReg() &&
13863        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
13864        MI->getOperand(2).isReg() &&
13865        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
13866        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13867      // (CSNEGWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc)
13868      AsmString = "cneg $\x01, $\x02, $\xFF\x04\x14";
13869      break;
13870    }
13871    return false;
13872  case AArch64::CSNEGXr:
13873    if (MI->getNumOperands() == 4 &&
13874        MI->getOperand(0).isReg() &&
13875        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13876        MI->getOperand(1).isReg() &&
13877        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
13878        MI->getOperand(2).isReg() &&
13879        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
13880        AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
13881      // (CSNEGXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc)
13882      AsmString = "cneg $\x01, $\x02, $\xFF\x04\x14";
13883      break;
13884    }
13885    return false;
13886  case AArch64::DCPS1:
13887    if (MI->getNumOperands() == 1 &&
13888        MI->getOperand(0).isImm() &&
13889        MI->getOperand(0).getImm() == 0) {
13890      // (DCPS1 0)
13891      AsmString = "dcps1";
13892      break;
13893    }
13894    return false;
13895  case AArch64::DCPS2:
13896    if (MI->getNumOperands() == 1 &&
13897        MI->getOperand(0).isImm() &&
13898        MI->getOperand(0).getImm() == 0) {
13899      // (DCPS2 0)
13900      AsmString = "dcps2";
13901      break;
13902    }
13903    return false;
13904  case AArch64::DCPS3:
13905    if (MI->getNumOperands() == 1 &&
13906        MI->getOperand(0).isImm() &&
13907        MI->getOperand(0).getImm() == 0) {
13908      // (DCPS3 0)
13909      AsmString = "dcps3";
13910      break;
13911    }
13912    return false;
13913  case AArch64::DECB_XPiI:
13914    if (MI->getNumOperands() == 4 &&
13915        MI->getOperand(0).isReg() &&
13916        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13917        MI->getOperand(2).isImm() &&
13918        MI->getOperand(2).getImm() == 31 &&
13919        MI->getOperand(3).isImm() &&
13920        MI->getOperand(3).getImm() == 1 &&
13921        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13922      // (DECB_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
13923      AsmString = "decb	$\x01";
13924      break;
13925    }
13926    if (MI->getNumOperands() == 4 &&
13927        MI->getOperand(0).isReg() &&
13928        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13929        MI->getOperand(3).isImm() &&
13930        MI->getOperand(3).getImm() == 1 &&
13931        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13932      // (DECB_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
13933      AsmString = "decb	$\x01, $\xFF\x03\x0E";
13934      break;
13935    }
13936    return false;
13937  case AArch64::DECD_XPiI:
13938    if (MI->getNumOperands() == 4 &&
13939        MI->getOperand(0).isReg() &&
13940        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13941        MI->getOperand(2).isImm() &&
13942        MI->getOperand(2).getImm() == 31 &&
13943        MI->getOperand(3).isImm() &&
13944        MI->getOperand(3).getImm() == 1 &&
13945        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13946      // (DECD_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
13947      AsmString = "decd	$\x01";
13948      break;
13949    }
13950    if (MI->getNumOperands() == 4 &&
13951        MI->getOperand(0).isReg() &&
13952        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13953        MI->getOperand(3).isImm() &&
13954        MI->getOperand(3).getImm() == 1 &&
13955        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13956      // (DECD_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
13957      AsmString = "decd	$\x01, $\xFF\x03\x0E";
13958      break;
13959    }
13960    return false;
13961  case AArch64::DECD_ZPiI:
13962    if (MI->getNumOperands() == 4 &&
13963        MI->getOperand(0).isReg() &&
13964        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13965        MI->getOperand(2).isImm() &&
13966        MI->getOperand(2).getImm() == 31 &&
13967        MI->getOperand(3).isImm() &&
13968        MI->getOperand(3).getImm() == 1 &&
13969        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13970      // (DECD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1)
13971      AsmString = "decd	$\xFF\x01\x10";
13972      break;
13973    }
13974    if (MI->getNumOperands() == 4 &&
13975        MI->getOperand(0).isReg() &&
13976        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
13977        MI->getOperand(3).isImm() &&
13978        MI->getOperand(3).getImm() == 1 &&
13979        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13980      // (DECD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1)
13981      AsmString = "decd	$\xFF\x01\x10, $\xFF\x03\x0E";
13982      break;
13983    }
13984    return false;
13985  case AArch64::DECH_XPiI:
13986    if (MI->getNumOperands() == 4 &&
13987        MI->getOperand(0).isReg() &&
13988        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
13989        MI->getOperand(2).isImm() &&
13990        MI->getOperand(2).getImm() == 31 &&
13991        MI->getOperand(3).isImm() &&
13992        MI->getOperand(3).getImm() == 1 &&
13993        STI.getFeatureBits()[AArch64::FeatureSVE]) {
13994      // (DECH_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
13995      AsmString = "dech	$\x01";
13996      break;
13997    }
13998    if (MI->getNumOperands() == 4 &&
13999        MI->getOperand(0).isReg() &&
14000        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14001        MI->getOperand(3).isImm() &&
14002        MI->getOperand(3).getImm() == 1 &&
14003        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14004      // (DECH_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
14005      AsmString = "dech	$\x01, $\xFF\x03\x0E";
14006      break;
14007    }
14008    return false;
14009  case AArch64::DECH_ZPiI:
14010    if (MI->getNumOperands() == 4 &&
14011        MI->getOperand(0).isReg() &&
14012        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14013        MI->getOperand(2).isImm() &&
14014        MI->getOperand(2).getImm() == 31 &&
14015        MI->getOperand(3).isImm() &&
14016        MI->getOperand(3).getImm() == 1 &&
14017        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14018      // (DECH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1)
14019      AsmString = "dech	$\xFF\x01\x09";
14020      break;
14021    }
14022    if (MI->getNumOperands() == 4 &&
14023        MI->getOperand(0).isReg() &&
14024        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14025        MI->getOperand(3).isImm() &&
14026        MI->getOperand(3).getImm() == 1 &&
14027        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14028      // (DECH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1)
14029      AsmString = "dech	$\xFF\x01\x09, $\xFF\x03\x0E";
14030      break;
14031    }
14032    return false;
14033  case AArch64::DECW_XPiI:
14034    if (MI->getNumOperands() == 4 &&
14035        MI->getOperand(0).isReg() &&
14036        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14037        MI->getOperand(2).isImm() &&
14038        MI->getOperand(2).getImm() == 31 &&
14039        MI->getOperand(3).isImm() &&
14040        MI->getOperand(3).getImm() == 1 &&
14041        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14042      // (DECW_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
14043      AsmString = "decw	$\x01";
14044      break;
14045    }
14046    if (MI->getNumOperands() == 4 &&
14047        MI->getOperand(0).isReg() &&
14048        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14049        MI->getOperand(3).isImm() &&
14050        MI->getOperand(3).getImm() == 1 &&
14051        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14052      // (DECW_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
14053      AsmString = "decw	$\x01, $\xFF\x03\x0E";
14054      break;
14055    }
14056    return false;
14057  case AArch64::DECW_ZPiI:
14058    if (MI->getNumOperands() == 4 &&
14059        MI->getOperand(0).isReg() &&
14060        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14061        MI->getOperand(2).isImm() &&
14062        MI->getOperand(2).getImm() == 31 &&
14063        MI->getOperand(3).isImm() &&
14064        MI->getOperand(3).getImm() == 1 &&
14065        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14066      // (DECW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1)
14067      AsmString = "decw	$\xFF\x01\x0B";
14068      break;
14069    }
14070    if (MI->getNumOperands() == 4 &&
14071        MI->getOperand(0).isReg() &&
14072        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14073        MI->getOperand(3).isImm() &&
14074        MI->getOperand(3).getImm() == 1 &&
14075        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14076      // (DECW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1)
14077      AsmString = "decw	$\xFF\x01\x0B, $\xFF\x03\x0E";
14078      break;
14079    }
14080    return false;
14081  case AArch64::DUPM_ZI:
14082    if (MI->getNumOperands() == 2 &&
14083        MI->getOperand(0).isReg() &&
14084        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14085        AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 5) &&
14086        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14087      // (DUPM_ZI ZPR16:$Zd, sve_preferred_logical_imm16:$imm)
14088      AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x15";
14089      break;
14090    }
14091    if (MI->getNumOperands() == 2 &&
14092        MI->getOperand(0).isReg() &&
14093        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14094        AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 6) &&
14095        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14096      // (DUPM_ZI ZPR32:$Zd, sve_preferred_logical_imm32:$imm)
14097      AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x16";
14098      break;
14099    }
14100    if (MI->getNumOperands() == 2 &&
14101        MI->getOperand(0).isReg() &&
14102        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14103        AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 7) &&
14104        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14105      // (DUPM_ZI ZPR64:$Zd, sve_preferred_logical_imm64:$imm)
14106      AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x17";
14107      break;
14108    }
14109    if (MI->getNumOperands() == 2 &&
14110        MI->getOperand(0).isReg() &&
14111        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14112        AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 1) &&
14113        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14114      // (DUPM_ZI ZPR8:$Zd, sve_logical_imm8:$imm)
14115      AsmString = "dupm $\xFF\x01\x06, $\xFF\x02\x08";
14116      break;
14117    }
14118    if (MI->getNumOperands() == 2 &&
14119        MI->getOperand(0).isReg() &&
14120        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14121        AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 2) &&
14122        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14123      // (DUPM_ZI ZPR16:$Zd, sve_logical_imm16:$imm)
14124      AsmString = "dupm $\xFF\x01\x09, $\xFF\x02\x0A";
14125      break;
14126    }
14127    if (MI->getNumOperands() == 2 &&
14128        MI->getOperand(0).isReg() &&
14129        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14130        AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 3) &&
14131        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14132      // (DUPM_ZI ZPR32:$Zd, sve_logical_imm32:$imm)
14133      AsmString = "dupm $\xFF\x01\x0B, $\xFF\x02\x04";
14134      break;
14135    }
14136    return false;
14137  case AArch64::DUP_ZI_B:
14138    if (MI->getNumOperands() == 3 &&
14139        MI->getOperand(0).isReg() &&
14140        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14141        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14142      // (DUP_ZI_B ZPR8:$Zd, cpy_imm8_opt_lsl_i8:$imm)
14143      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x0F";
14144      break;
14145    }
14146    return false;
14147  case AArch64::DUP_ZI_D:
14148    if (MI->getNumOperands() == 3 &&
14149        MI->getOperand(0).isReg() &&
14150        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14151        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14152      // (DUP_ZI_D ZPR64:$Zd, cpy_imm8_opt_lsl_i64:$imm)
14153      AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x11";
14154      break;
14155    }
14156    if (MI->getNumOperands() == 3 &&
14157        MI->getOperand(0).isReg() &&
14158        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14159        MI->getOperand(1).isImm() &&
14160        MI->getOperand(1).getImm() == 0 &&
14161        MI->getOperand(2).isImm() &&
14162        MI->getOperand(2).getImm() == 0 &&
14163        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14164      // (DUP_ZI_D ZPR64:$Zd, 0, 0)
14165      AsmString = "fmov $\xFF\x01\x10, #0.0";
14166      break;
14167    }
14168    return false;
14169  case AArch64::DUP_ZI_H:
14170    if (MI->getNumOperands() == 3 &&
14171        MI->getOperand(0).isReg() &&
14172        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14173        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14174      // (DUP_ZI_H ZPR16:$Zd, cpy_imm8_opt_lsl_i16:$imm)
14175      AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x12";
14176      break;
14177    }
14178    if (MI->getNumOperands() == 3 &&
14179        MI->getOperand(0).isReg() &&
14180        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14181        MI->getOperand(1).isImm() &&
14182        MI->getOperand(1).getImm() == 0 &&
14183        MI->getOperand(2).isImm() &&
14184        MI->getOperand(2).getImm() == 0 &&
14185        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14186      // (DUP_ZI_H ZPR16:$Zd, 0, 0)
14187      AsmString = "fmov $\xFF\x01\x09, #0.0";
14188      break;
14189    }
14190    return false;
14191  case AArch64::DUP_ZI_S:
14192    if (MI->getNumOperands() == 3 &&
14193        MI->getOperand(0).isReg() &&
14194        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14195        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14196      // (DUP_ZI_S ZPR32:$Zd, cpy_imm8_opt_lsl_i32:$imm)
14197      AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x13";
14198      break;
14199    }
14200    if (MI->getNumOperands() == 3 &&
14201        MI->getOperand(0).isReg() &&
14202        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14203        MI->getOperand(1).isImm() &&
14204        MI->getOperand(1).getImm() == 0 &&
14205        MI->getOperand(2).isImm() &&
14206        MI->getOperand(2).getImm() == 0 &&
14207        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14208      // (DUP_ZI_S ZPR32:$Zd, 0, 0)
14209      AsmString = "fmov $\xFF\x01\x0B, #0.0";
14210      break;
14211    }
14212    return false;
14213  case AArch64::DUP_ZR_B:
14214    if (MI->getNumOperands() == 2 &&
14215        MI->getOperand(0).isReg() &&
14216        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14217        MI->getOperand(1).isReg() &&
14218        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
14219        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14220      // (DUP_ZR_B ZPR8:$Zd, GPR32sp:$Rn)
14221      AsmString = "mov $\xFF\x01\x06, $\x02";
14222      break;
14223    }
14224    return false;
14225  case AArch64::DUP_ZR_D:
14226    if (MI->getNumOperands() == 2 &&
14227        MI->getOperand(0).isReg() &&
14228        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14229        MI->getOperand(1).isReg() &&
14230        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
14231        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14232      // (DUP_ZR_D ZPR64:$Zd, GPR64sp:$Rn)
14233      AsmString = "mov $\xFF\x01\x10, $\x02";
14234      break;
14235    }
14236    return false;
14237  case AArch64::DUP_ZR_H:
14238    if (MI->getNumOperands() == 2 &&
14239        MI->getOperand(0).isReg() &&
14240        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14241        MI->getOperand(1).isReg() &&
14242        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
14243        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14244      // (DUP_ZR_H ZPR16:$Zd, GPR32sp:$Rn)
14245      AsmString = "mov $\xFF\x01\x09, $\x02";
14246      break;
14247    }
14248    return false;
14249  case AArch64::DUP_ZR_S:
14250    if (MI->getNumOperands() == 2 &&
14251        MI->getOperand(0).isReg() &&
14252        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14253        MI->getOperand(1).isReg() &&
14254        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
14255        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14256      // (DUP_ZR_S ZPR32:$Zd, GPR32sp:$Rn)
14257      AsmString = "mov $\xFF\x01\x0B, $\x02";
14258      break;
14259    }
14260    return false;
14261  case AArch64::DUP_ZZI_B:
14262    if (MI->getNumOperands() == 3 &&
14263        MI->getOperand(0).isReg() &&
14264        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14265        MI->getOperand(1).isReg() &&
14266        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14267        MI->getOperand(2).isImm() &&
14268        MI->getOperand(2).getImm() == 0 &&
14269        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14270      // (DUP_ZZI_B ZPR8:$Zd, FPR8asZPR:$Bn, 0)
14271      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x18";
14272      break;
14273    }
14274    if (MI->getNumOperands() == 3 &&
14275        MI->getOperand(0).isReg() &&
14276        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14277        MI->getOperand(1).isReg() &&
14278        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14279        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14280      // (DUP_ZZI_B ZPR8:$Zd, ZPR8:$Zn, sve_elm_idx_extdup_b:$idx)
14281      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x06$\xFF\x03\x19";
14282      break;
14283    }
14284    return false;
14285  case AArch64::DUP_ZZI_D:
14286    if (MI->getNumOperands() == 3 &&
14287        MI->getOperand(0).isReg() &&
14288        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14289        MI->getOperand(1).isReg() &&
14290        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14291        MI->getOperand(2).isImm() &&
14292        MI->getOperand(2).getImm() == 0 &&
14293        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14294      // (DUP_ZZI_D ZPR64:$Zd, FPR64asZPR:$Dn, 0)
14295      AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x1A";
14296      break;
14297    }
14298    if (MI->getNumOperands() == 3 &&
14299        MI->getOperand(0).isReg() &&
14300        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14301        MI->getOperand(1).isReg() &&
14302        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14303        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14304      // (DUP_ZZI_D ZPR64:$Zd, ZPR64:$Zn, sve_elm_idx_extdup_d:$idx)
14305      AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x10$\xFF\x03\x19";
14306      break;
14307    }
14308    return false;
14309  case AArch64::DUP_ZZI_H:
14310    if (MI->getNumOperands() == 3 &&
14311        MI->getOperand(0).isReg() &&
14312        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14313        MI->getOperand(1).isReg() &&
14314        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14315        MI->getOperand(2).isImm() &&
14316        MI->getOperand(2).getImm() == 0 &&
14317        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14318      // (DUP_ZZI_H ZPR16:$Zd, FPR16asZPR:$Hn, 0)
14319      AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x1B";
14320      break;
14321    }
14322    if (MI->getNumOperands() == 3 &&
14323        MI->getOperand(0).isReg() &&
14324        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14325        MI->getOperand(1).isReg() &&
14326        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14327        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14328      // (DUP_ZZI_H ZPR16:$Zd, ZPR16:$Zn, sve_elm_idx_extdup_h:$idx)
14329      AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x09$\xFF\x03\x19";
14330      break;
14331    }
14332    return false;
14333  case AArch64::DUP_ZZI_Q:
14334    if (MI->getNumOperands() == 3 &&
14335        MI->getOperand(0).isReg() &&
14336        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14337        MI->getOperand(1).isReg() &&
14338        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14339        MI->getOperand(2).isImm() &&
14340        MI->getOperand(2).getImm() == 0 &&
14341        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14342      // (DUP_ZZI_Q ZPR128:$Zd, FPR128asZPR:$Qn, 0)
14343      AsmString = "mov $\xFF\x01\x1C, $\xFF\x02\x1D";
14344      break;
14345    }
14346    if (MI->getNumOperands() == 3 &&
14347        MI->getOperand(0).isReg() &&
14348        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14349        MI->getOperand(1).isReg() &&
14350        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14351        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14352      // (DUP_ZZI_Q ZPR128:$Zd, ZPR128:$Zn, sve_elm_idx_extdup_q:$idx)
14353      AsmString = "mov $\xFF\x01\x1C, $\xFF\x02\x1C$\xFF\x03\x19";
14354      break;
14355    }
14356    return false;
14357  case AArch64::DUP_ZZI_S:
14358    if (MI->getNumOperands() == 3 &&
14359        MI->getOperand(0).isReg() &&
14360        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14361        MI->getOperand(1).isReg() &&
14362        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14363        MI->getOperand(2).isImm() &&
14364        MI->getOperand(2).getImm() == 0 &&
14365        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14366      // (DUP_ZZI_S ZPR32:$Zd, FPR32asZPR:$Sn, 0)
14367      AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x1E";
14368      break;
14369    }
14370    if (MI->getNumOperands() == 3 &&
14371        MI->getOperand(0).isReg() &&
14372        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14373        MI->getOperand(1).isReg() &&
14374        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14375        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14376      // (DUP_ZZI_S ZPR32:$Zd, ZPR32:$Zn, sve_elm_idx_extdup_s:$idx)
14377      AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x0B$\xFF\x03\x19";
14378      break;
14379    }
14380    return false;
14381  case AArch64::EONWrs:
14382    if (MI->getNumOperands() == 4 &&
14383        MI->getOperand(0).isReg() &&
14384        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
14385        MI->getOperand(1).isReg() &&
14386        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
14387        MI->getOperand(2).isReg() &&
14388        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
14389        MI->getOperand(3).isImm() &&
14390        MI->getOperand(3).getImm() == 0) {
14391      // (EONWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
14392      AsmString = "eon	$\x01, $\x02, $\x03";
14393      break;
14394    }
14395    return false;
14396  case AArch64::EONXrs:
14397    if (MI->getNumOperands() == 4 &&
14398        MI->getOperand(0).isReg() &&
14399        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14400        MI->getOperand(1).isReg() &&
14401        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
14402        MI->getOperand(2).isReg() &&
14403        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
14404        MI->getOperand(3).isImm() &&
14405        MI->getOperand(3).getImm() == 0) {
14406      // (EONXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
14407      AsmString = "eon	$\x01, $\x02, $\x03";
14408      break;
14409    }
14410    return false;
14411  case AArch64::EORS_PPzPP:
14412    if (MI->getNumOperands() == 4 &&
14413        MI->getOperand(0).isReg() &&
14414        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14415        MI->getOperand(1).isReg() &&
14416        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14417        MI->getOperand(2).isReg() &&
14418        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14419        MI->getOperand(3).isReg() &&
14420        MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
14421        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14422      // (EORS_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPRAny:$Pg)
14423      AsmString = "nots $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06";
14424      break;
14425    }
14426    return false;
14427  case AArch64::EORWrs:
14428    if (MI->getNumOperands() == 4 &&
14429        MI->getOperand(0).isReg() &&
14430        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
14431        MI->getOperand(1).isReg() &&
14432        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
14433        MI->getOperand(2).isReg() &&
14434        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
14435        MI->getOperand(3).isImm() &&
14436        MI->getOperand(3).getImm() == 0) {
14437      // (EORWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
14438      AsmString = "eor	$\x01, $\x02, $\x03";
14439      break;
14440    }
14441    return false;
14442  case AArch64::EORXrs:
14443    if (MI->getNumOperands() == 4 &&
14444        MI->getOperand(0).isReg() &&
14445        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14446        MI->getOperand(1).isReg() &&
14447        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
14448        MI->getOperand(2).isReg() &&
14449        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
14450        MI->getOperand(3).isImm() &&
14451        MI->getOperand(3).getImm() == 0) {
14452      // (EORXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
14453      AsmString = "eor	$\x01, $\x02, $\x03";
14454      break;
14455    }
14456    return false;
14457  case AArch64::EOR_PPzPP:
14458    if (MI->getNumOperands() == 4 &&
14459        MI->getOperand(0).isReg() &&
14460        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14461        MI->getOperand(1).isReg() &&
14462        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
14463        MI->getOperand(2).isReg() &&
14464        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14465        MI->getOperand(3).isReg() &&
14466        MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
14467        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14468      // (EOR_PPzPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPRAny:$Pg)
14469      AsmString = "not $\xFF\x01\x06, $\xFF\x02\x07/z, $\xFF\x03\x06";
14470      break;
14471    }
14472    return false;
14473  case AArch64::EOR_ZI:
14474    if (MI->getNumOperands() == 3 &&
14475        MI->getOperand(0).isReg() &&
14476        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14477        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
14478        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14479      // (EOR_ZI ZPR8:$Zdn, sve_logical_imm8:$imm)
14480      AsmString = "eor	$\xFF\x01\x06, $\xFF\x01\x06, $\xFF\x03\x08";
14481      break;
14482    }
14483    if (MI->getNumOperands() == 3 &&
14484        MI->getOperand(0).isReg() &&
14485        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14486        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
14487        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14488      // (EOR_ZI ZPR16:$Zdn, sve_logical_imm16:$imm)
14489      AsmString = "eor	$\xFF\x01\x09, $\xFF\x01\x09, $\xFF\x03\x0A";
14490      break;
14491    }
14492    if (MI->getNumOperands() == 3 &&
14493        MI->getOperand(0).isReg() &&
14494        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14495        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
14496        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14497      // (EOR_ZI ZPR32:$Zdn, sve_logical_imm32:$imm)
14498      AsmString = "eor	$\xFF\x01\x0B, $\xFF\x01\x0B, $\xFF\x03\x04";
14499      break;
14500    }
14501    return false;
14502  case AArch64::EXTRWrri:
14503    if (MI->getNumOperands() == 4 &&
14504        MI->getOperand(0).isReg() &&
14505        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
14506        MI->getOperand(1).isReg() &&
14507        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
14508        MI->getOperand(2).isReg() &&
14509        MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
14510      // (EXTRWrri GPR32:$dst, GPR32:$src, GPR32:$src, imm0_31:$shift)
14511      AsmString = "ror $\x01, $\x02, $\x04";
14512      break;
14513    }
14514    return false;
14515  case AArch64::EXTRXrri:
14516    if (MI->getNumOperands() == 4 &&
14517        MI->getOperand(0).isReg() &&
14518        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14519        MI->getOperand(1).isReg() &&
14520        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
14521        MI->getOperand(2).isReg() &&
14522        MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
14523      // (EXTRXrri GPR64:$dst, GPR64:$src, GPR64:$src, imm0_63:$shift)
14524      AsmString = "ror $\x01, $\x02, $\x04";
14525      break;
14526    }
14527    return false;
14528  case AArch64::FCPY_ZPmI_D:
14529    if (MI->getNumOperands() == 4 &&
14530        MI->getOperand(0).isReg() &&
14531        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14532        MI->getOperand(2).isReg() &&
14533        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14534        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14535      // (FCPY_ZPmI_D ZPR64:$Zd, PPRAny:$Pg, fpimm64:$imm8)
14536      AsmString = "fmov $\xFF\x01\x10, $\xFF\x03\x07/m, $\xFF\x04\x1F";
14537      break;
14538    }
14539    return false;
14540  case AArch64::FCPY_ZPmI_H:
14541    if (MI->getNumOperands() == 4 &&
14542        MI->getOperand(0).isReg() &&
14543        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14544        MI->getOperand(2).isReg() &&
14545        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14546        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14547      // (FCPY_ZPmI_H ZPR16:$Zd, PPRAny:$Pg, fpimm16:$imm8)
14548      AsmString = "fmov $\xFF\x01\x09, $\xFF\x03\x07/m, $\xFF\x04\x1F";
14549      break;
14550    }
14551    return false;
14552  case AArch64::FCPY_ZPmI_S:
14553    if (MI->getNumOperands() == 4 &&
14554        MI->getOperand(0).isReg() &&
14555        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14556        MI->getOperand(2).isReg() &&
14557        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14558        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14559      // (FCPY_ZPmI_S ZPR32:$Zd, PPRAny:$Pg, fpimm32:$imm8)
14560      AsmString = "fmov $\xFF\x01\x0B, $\xFF\x03\x07/m, $\xFF\x04\x1F";
14561      break;
14562    }
14563    return false;
14564  case AArch64::FDUP_ZI_D:
14565    if (MI->getNumOperands() == 2 &&
14566        MI->getOperand(0).isReg() &&
14567        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14568        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14569      // (FDUP_ZI_D ZPR64:$Zd, fpimm64:$imm8)
14570      AsmString = "fmov $\xFF\x01\x10, $\xFF\x02\x1F";
14571      break;
14572    }
14573    return false;
14574  case AArch64::FDUP_ZI_H:
14575    if (MI->getNumOperands() == 2 &&
14576        MI->getOperand(0).isReg() &&
14577        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14578        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14579      // (FDUP_ZI_H ZPR16:$Zd, fpimm16:$imm8)
14580      AsmString = "fmov $\xFF\x01\x09, $\xFF\x02\x1F";
14581      break;
14582    }
14583    return false;
14584  case AArch64::FDUP_ZI_S:
14585    if (MI->getNumOperands() == 2 &&
14586        MI->getOperand(0).isReg() &&
14587        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14588        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14589      // (FDUP_ZI_S ZPR32:$Zd, fpimm32:$imm8)
14590      AsmString = "fmov $\xFF\x01\x0B, $\xFF\x02\x1F";
14591      break;
14592    }
14593    return false;
14594  case AArch64::GLD1B_D_IMM_REAL:
14595    if (MI->getNumOperands() == 4 &&
14596        MI->getOperand(0).isReg() &&
14597        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14598        MI->getOperand(1).isReg() &&
14599        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14600        MI->getOperand(2).isReg() &&
14601        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14602        MI->getOperand(3).isImm() &&
14603        MI->getOperand(3).getImm() == 0 &&
14604        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14605      // (GLD1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14606      AsmString = "ld1b	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14607      break;
14608    }
14609    return false;
14610  case AArch64::GLD1B_S_IMM_REAL:
14611    if (MI->getNumOperands() == 4 &&
14612        MI->getOperand(0).isReg() &&
14613        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14614        MI->getOperand(1).isReg() &&
14615        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14616        MI->getOperand(2).isReg() &&
14617        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14618        MI->getOperand(3).isImm() &&
14619        MI->getOperand(3).getImm() == 0 &&
14620        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14621      // (GLD1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14622      AsmString = "ld1b	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14623      break;
14624    }
14625    return false;
14626  case AArch64::GLD1D_IMM_REAL:
14627    if (MI->getNumOperands() == 4 &&
14628        MI->getOperand(0).isReg() &&
14629        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14630        MI->getOperand(1).isReg() &&
14631        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14632        MI->getOperand(2).isReg() &&
14633        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14634        MI->getOperand(3).isImm() &&
14635        MI->getOperand(3).getImm() == 0 &&
14636        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14637      // (GLD1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14638      AsmString = "ld1d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14639      break;
14640    }
14641    return false;
14642  case AArch64::GLD1H_D_IMM_REAL:
14643    if (MI->getNumOperands() == 4 &&
14644        MI->getOperand(0).isReg() &&
14645        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14646        MI->getOperand(1).isReg() &&
14647        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14648        MI->getOperand(2).isReg() &&
14649        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14650        MI->getOperand(3).isImm() &&
14651        MI->getOperand(3).getImm() == 0 &&
14652        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14653      // (GLD1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14654      AsmString = "ld1h	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14655      break;
14656    }
14657    return false;
14658  case AArch64::GLD1H_S_IMM_REAL:
14659    if (MI->getNumOperands() == 4 &&
14660        MI->getOperand(0).isReg() &&
14661        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14662        MI->getOperand(1).isReg() &&
14663        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14664        MI->getOperand(2).isReg() &&
14665        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14666        MI->getOperand(3).isImm() &&
14667        MI->getOperand(3).getImm() == 0 &&
14668        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14669      // (GLD1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14670      AsmString = "ld1h	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14671      break;
14672    }
14673    return false;
14674  case AArch64::GLD1SB_D_IMM_REAL:
14675    if (MI->getNumOperands() == 4 &&
14676        MI->getOperand(0).isReg() &&
14677        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14678        MI->getOperand(1).isReg() &&
14679        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14680        MI->getOperand(2).isReg() &&
14681        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14682        MI->getOperand(3).isImm() &&
14683        MI->getOperand(3).getImm() == 0 &&
14684        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14685      // (GLD1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14686      AsmString = "ld1sb	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14687      break;
14688    }
14689    return false;
14690  case AArch64::GLD1SB_S_IMM_REAL:
14691    if (MI->getNumOperands() == 4 &&
14692        MI->getOperand(0).isReg() &&
14693        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14694        MI->getOperand(1).isReg() &&
14695        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14696        MI->getOperand(2).isReg() &&
14697        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14698        MI->getOperand(3).isImm() &&
14699        MI->getOperand(3).getImm() == 0 &&
14700        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14701      // (GLD1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14702      AsmString = "ld1sb	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14703      break;
14704    }
14705    return false;
14706  case AArch64::GLD1SH_D_IMM_REAL:
14707    if (MI->getNumOperands() == 4 &&
14708        MI->getOperand(0).isReg() &&
14709        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14710        MI->getOperand(1).isReg() &&
14711        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14712        MI->getOperand(2).isReg() &&
14713        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14714        MI->getOperand(3).isImm() &&
14715        MI->getOperand(3).getImm() == 0 &&
14716        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14717      // (GLD1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14718      AsmString = "ld1sh	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14719      break;
14720    }
14721    return false;
14722  case AArch64::GLD1SH_S_IMM_REAL:
14723    if (MI->getNumOperands() == 4 &&
14724        MI->getOperand(0).isReg() &&
14725        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14726        MI->getOperand(1).isReg() &&
14727        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14728        MI->getOperand(2).isReg() &&
14729        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14730        MI->getOperand(3).isImm() &&
14731        MI->getOperand(3).getImm() == 0 &&
14732        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14733      // (GLD1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14734      AsmString = "ld1sh	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14735      break;
14736    }
14737    return false;
14738  case AArch64::GLD1SW_D_IMM_REAL:
14739    if (MI->getNumOperands() == 4 &&
14740        MI->getOperand(0).isReg() &&
14741        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14742        MI->getOperand(1).isReg() &&
14743        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14744        MI->getOperand(2).isReg() &&
14745        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14746        MI->getOperand(3).isImm() &&
14747        MI->getOperand(3).getImm() == 0 &&
14748        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14749      // (GLD1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14750      AsmString = "ld1sw	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14751      break;
14752    }
14753    return false;
14754  case AArch64::GLD1W_D_IMM_REAL:
14755    if (MI->getNumOperands() == 4 &&
14756        MI->getOperand(0).isReg() &&
14757        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14758        MI->getOperand(1).isReg() &&
14759        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14760        MI->getOperand(2).isReg() &&
14761        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14762        MI->getOperand(3).isImm() &&
14763        MI->getOperand(3).getImm() == 0 &&
14764        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14765      // (GLD1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14766      AsmString = "ld1w	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14767      break;
14768    }
14769    return false;
14770  case AArch64::GLD1W_IMM_REAL:
14771    if (MI->getNumOperands() == 4 &&
14772        MI->getOperand(0).isReg() &&
14773        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14774        MI->getOperand(1).isReg() &&
14775        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14776        MI->getOperand(2).isReg() &&
14777        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14778        MI->getOperand(3).isImm() &&
14779        MI->getOperand(3).getImm() == 0 &&
14780        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14781      // (GLD1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14782      AsmString = "ld1w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14783      break;
14784    }
14785    return false;
14786  case AArch64::GLDFF1B_D_IMM_REAL:
14787    if (MI->getNumOperands() == 4 &&
14788        MI->getOperand(0).isReg() &&
14789        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14790        MI->getOperand(1).isReg() &&
14791        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14792        MI->getOperand(2).isReg() &&
14793        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14794        MI->getOperand(3).isImm() &&
14795        MI->getOperand(3).getImm() == 0 &&
14796        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14797      // (GLDFF1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14798      AsmString = "ldff1b	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14799      break;
14800    }
14801    return false;
14802  case AArch64::GLDFF1B_S_IMM_REAL:
14803    if (MI->getNumOperands() == 4 &&
14804        MI->getOperand(0).isReg() &&
14805        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14806        MI->getOperand(1).isReg() &&
14807        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14808        MI->getOperand(2).isReg() &&
14809        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14810        MI->getOperand(3).isImm() &&
14811        MI->getOperand(3).getImm() == 0 &&
14812        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14813      // (GLDFF1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14814      AsmString = "ldff1b	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14815      break;
14816    }
14817    return false;
14818  case AArch64::GLDFF1D_IMM_REAL:
14819    if (MI->getNumOperands() == 4 &&
14820        MI->getOperand(0).isReg() &&
14821        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14822        MI->getOperand(1).isReg() &&
14823        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14824        MI->getOperand(2).isReg() &&
14825        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14826        MI->getOperand(3).isImm() &&
14827        MI->getOperand(3).getImm() == 0 &&
14828        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14829      // (GLDFF1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14830      AsmString = "ldff1d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14831      break;
14832    }
14833    return false;
14834  case AArch64::GLDFF1H_D_IMM_REAL:
14835    if (MI->getNumOperands() == 4 &&
14836        MI->getOperand(0).isReg() &&
14837        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14838        MI->getOperand(1).isReg() &&
14839        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14840        MI->getOperand(2).isReg() &&
14841        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14842        MI->getOperand(3).isImm() &&
14843        MI->getOperand(3).getImm() == 0 &&
14844        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14845      // (GLDFF1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14846      AsmString = "ldff1h	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14847      break;
14848    }
14849    return false;
14850  case AArch64::GLDFF1H_S_IMM_REAL:
14851    if (MI->getNumOperands() == 4 &&
14852        MI->getOperand(0).isReg() &&
14853        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14854        MI->getOperand(1).isReg() &&
14855        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14856        MI->getOperand(2).isReg() &&
14857        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14858        MI->getOperand(3).isImm() &&
14859        MI->getOperand(3).getImm() == 0 &&
14860        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14861      // (GLDFF1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14862      AsmString = "ldff1h	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14863      break;
14864    }
14865    return false;
14866  case AArch64::GLDFF1SB_D_IMM_REAL:
14867    if (MI->getNumOperands() == 4 &&
14868        MI->getOperand(0).isReg() &&
14869        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14870        MI->getOperand(1).isReg() &&
14871        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14872        MI->getOperand(2).isReg() &&
14873        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14874        MI->getOperand(3).isImm() &&
14875        MI->getOperand(3).getImm() == 0 &&
14876        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14877      // (GLDFF1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14878      AsmString = "ldff1sb	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14879      break;
14880    }
14881    return false;
14882  case AArch64::GLDFF1SB_S_IMM_REAL:
14883    if (MI->getNumOperands() == 4 &&
14884        MI->getOperand(0).isReg() &&
14885        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14886        MI->getOperand(1).isReg() &&
14887        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14888        MI->getOperand(2).isReg() &&
14889        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14890        MI->getOperand(3).isImm() &&
14891        MI->getOperand(3).getImm() == 0 &&
14892        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14893      // (GLDFF1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14894      AsmString = "ldff1sb	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14895      break;
14896    }
14897    return false;
14898  case AArch64::GLDFF1SH_D_IMM_REAL:
14899    if (MI->getNumOperands() == 4 &&
14900        MI->getOperand(0).isReg() &&
14901        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14902        MI->getOperand(1).isReg() &&
14903        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14904        MI->getOperand(2).isReg() &&
14905        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14906        MI->getOperand(3).isImm() &&
14907        MI->getOperand(3).getImm() == 0 &&
14908        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14909      // (GLDFF1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14910      AsmString = "ldff1sh	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14911      break;
14912    }
14913    return false;
14914  case AArch64::GLDFF1SH_S_IMM_REAL:
14915    if (MI->getNumOperands() == 4 &&
14916        MI->getOperand(0).isReg() &&
14917        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14918        MI->getOperand(1).isReg() &&
14919        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14920        MI->getOperand(2).isReg() &&
14921        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14922        MI->getOperand(3).isImm() &&
14923        MI->getOperand(3).getImm() == 0 &&
14924        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14925      // (GLDFF1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14926      AsmString = "ldff1sh	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14927      break;
14928    }
14929    return false;
14930  case AArch64::GLDFF1SW_D_IMM_REAL:
14931    if (MI->getNumOperands() == 4 &&
14932        MI->getOperand(0).isReg() &&
14933        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14934        MI->getOperand(1).isReg() &&
14935        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14936        MI->getOperand(2).isReg() &&
14937        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14938        MI->getOperand(3).isImm() &&
14939        MI->getOperand(3).getImm() == 0 &&
14940        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14941      // (GLDFF1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14942      AsmString = "ldff1sw	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14943      break;
14944    }
14945    return false;
14946  case AArch64::GLDFF1W_D_IMM_REAL:
14947    if (MI->getNumOperands() == 4 &&
14948        MI->getOperand(0).isReg() &&
14949        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14950        MI->getOperand(1).isReg() &&
14951        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14952        MI->getOperand(2).isReg() &&
14953        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14954        MI->getOperand(3).isImm() &&
14955        MI->getOperand(3).getImm() == 0 &&
14956        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14957      // (GLDFF1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
14958      AsmString = "ldff1w	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\xFF\x03\x10]";
14959      break;
14960    }
14961    return false;
14962  case AArch64::GLDFF1W_IMM_REAL:
14963    if (MI->getNumOperands() == 4 &&
14964        MI->getOperand(0).isReg() &&
14965        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
14966        MI->getOperand(1).isReg() &&
14967        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
14968        MI->getOperand(2).isReg() &&
14969        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
14970        MI->getOperand(3).isImm() &&
14971        MI->getOperand(3).getImm() == 0 &&
14972        STI.getFeatureBits()[AArch64::FeatureSVE]) {
14973      // (GLDFF1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
14974      AsmString = "ldff1w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\xFF\x03\x0B]";
14975      break;
14976    }
14977    return false;
14978  case AArch64::HINT:
14979    if (MI->getNumOperands() == 1 &&
14980        MI->getOperand(0).isImm() &&
14981        MI->getOperand(0).getImm() == 0) {
14982      // (HINT { 0, 0, 0 })
14983      AsmString = "nop";
14984      break;
14985    }
14986    if (MI->getNumOperands() == 1 &&
14987        MI->getOperand(0).isImm() &&
14988        MI->getOperand(0).getImm() == 1) {
14989      // (HINT { 0, 0, 1 })
14990      AsmString = "yield";
14991      break;
14992    }
14993    if (MI->getNumOperands() == 1 &&
14994        MI->getOperand(0).isImm() &&
14995        MI->getOperand(0).getImm() == 2) {
14996      // (HINT { 0, 1, 0 })
14997      AsmString = "wfe";
14998      break;
14999    }
15000    if (MI->getNumOperands() == 1 &&
15001        MI->getOperand(0).isImm() &&
15002        MI->getOperand(0).getImm() == 3) {
15003      // (HINT { 0, 1, 1 })
15004      AsmString = "wfi";
15005      break;
15006    }
15007    if (MI->getNumOperands() == 1 &&
15008        MI->getOperand(0).isImm() &&
15009        MI->getOperand(0).getImm() == 4) {
15010      // (HINT { 1, 0, 0 })
15011      AsmString = "sev";
15012      break;
15013    }
15014    if (MI->getNumOperands() == 1 &&
15015        MI->getOperand(0).isImm() &&
15016        MI->getOperand(0).getImm() == 5) {
15017      // (HINT { 1, 0, 1 })
15018      AsmString = "sevl";
15019      break;
15020    }
15021    if (MI->getNumOperands() == 1 &&
15022        MI->getOperand(0).isImm() &&
15023        MI->getOperand(0).getImm() == 16 &&
15024        STI.getFeatureBits()[AArch64::FeatureRAS]) {
15025      // (HINT { 1, 0, 0, 0, 0 })
15026      AsmString = "esb";
15027      break;
15028    }
15029    if (MI->getNumOperands() == 1 &&
15030        MI->getOperand(0).isImm() &&
15031        MI->getOperand(0).getImm() == 20) {
15032      // (HINT 20)
15033      AsmString = "csdb";
15034      break;
15035    }
15036    if (MI->getNumOperands() == 1 &&
15037        AArch64InstPrinterValidateMCOperand(MI->getOperand(0), STI, 8) &&
15038        STI.getFeatureBits()[AArch64::FeatureSPE]) {
15039      // (HINT psbhint_op:$op)
15040      AsmString = "psb $\xFF\x01\x22";
15041      break;
15042    }
15043    return false;
15044  case AArch64::INCB_XPiI:
15045    if (MI->getNumOperands() == 4 &&
15046        MI->getOperand(0).isReg() &&
15047        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15048        MI->getOperand(2).isImm() &&
15049        MI->getOperand(2).getImm() == 31 &&
15050        MI->getOperand(3).isImm() &&
15051        MI->getOperand(3).getImm() == 1 &&
15052        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15053      // (INCB_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
15054      AsmString = "incb	$\x01";
15055      break;
15056    }
15057    if (MI->getNumOperands() == 4 &&
15058        MI->getOperand(0).isReg() &&
15059        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15060        MI->getOperand(3).isImm() &&
15061        MI->getOperand(3).getImm() == 1 &&
15062        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15063      // (INCB_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
15064      AsmString = "incb	$\x01, $\xFF\x03\x0E";
15065      break;
15066    }
15067    return false;
15068  case AArch64::INCD_XPiI:
15069    if (MI->getNumOperands() == 4 &&
15070        MI->getOperand(0).isReg() &&
15071        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15072        MI->getOperand(2).isImm() &&
15073        MI->getOperand(2).getImm() == 31 &&
15074        MI->getOperand(3).isImm() &&
15075        MI->getOperand(3).getImm() == 1 &&
15076        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15077      // (INCD_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
15078      AsmString = "incd	$\x01";
15079      break;
15080    }
15081    if (MI->getNumOperands() == 4 &&
15082        MI->getOperand(0).isReg() &&
15083        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15084        MI->getOperand(3).isImm() &&
15085        MI->getOperand(3).getImm() == 1 &&
15086        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15087      // (INCD_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
15088      AsmString = "incd	$\x01, $\xFF\x03\x0E";
15089      break;
15090    }
15091    return false;
15092  case AArch64::INCD_ZPiI:
15093    if (MI->getNumOperands() == 4 &&
15094        MI->getOperand(0).isReg() &&
15095        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15096        MI->getOperand(2).isImm() &&
15097        MI->getOperand(2).getImm() == 31 &&
15098        MI->getOperand(3).isImm() &&
15099        MI->getOperand(3).getImm() == 1 &&
15100        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15101      // (INCD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1)
15102      AsmString = "incd	$\xFF\x01\x10";
15103      break;
15104    }
15105    if (MI->getNumOperands() == 4 &&
15106        MI->getOperand(0).isReg() &&
15107        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15108        MI->getOperand(3).isImm() &&
15109        MI->getOperand(3).getImm() == 1 &&
15110        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15111      // (INCD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1)
15112      AsmString = "incd	$\xFF\x01\x10, $\xFF\x03\x0E";
15113      break;
15114    }
15115    return false;
15116  case AArch64::INCH_XPiI:
15117    if (MI->getNumOperands() == 4 &&
15118        MI->getOperand(0).isReg() &&
15119        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15120        MI->getOperand(2).isImm() &&
15121        MI->getOperand(2).getImm() == 31 &&
15122        MI->getOperand(3).isImm() &&
15123        MI->getOperand(3).getImm() == 1 &&
15124        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15125      // (INCH_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
15126      AsmString = "inch	$\x01";
15127      break;
15128    }
15129    if (MI->getNumOperands() == 4 &&
15130        MI->getOperand(0).isReg() &&
15131        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15132        MI->getOperand(3).isImm() &&
15133        MI->getOperand(3).getImm() == 1 &&
15134        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15135      // (INCH_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
15136      AsmString = "inch	$\x01, $\xFF\x03\x0E";
15137      break;
15138    }
15139    return false;
15140  case AArch64::INCH_ZPiI:
15141    if (MI->getNumOperands() == 4 &&
15142        MI->getOperand(0).isReg() &&
15143        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15144        MI->getOperand(2).isImm() &&
15145        MI->getOperand(2).getImm() == 31 &&
15146        MI->getOperand(3).isImm() &&
15147        MI->getOperand(3).getImm() == 1 &&
15148        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15149      // (INCH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1)
15150      AsmString = "inch	$\xFF\x01\x09";
15151      break;
15152    }
15153    if (MI->getNumOperands() == 4 &&
15154        MI->getOperand(0).isReg() &&
15155        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15156        MI->getOperand(3).isImm() &&
15157        MI->getOperand(3).getImm() == 1 &&
15158        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15159      // (INCH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1)
15160      AsmString = "inch	$\xFF\x01\x09, $\xFF\x03\x0E";
15161      break;
15162    }
15163    return false;
15164  case AArch64::INCW_XPiI:
15165    if (MI->getNumOperands() == 4 &&
15166        MI->getOperand(0).isReg() &&
15167        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15168        MI->getOperand(2).isImm() &&
15169        MI->getOperand(2).getImm() == 31 &&
15170        MI->getOperand(3).isImm() &&
15171        MI->getOperand(3).getImm() == 1 &&
15172        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15173      // (INCW_XPiI GPR64:$Rdn, { 1, 1, 1, 1, 1 }, 1)
15174      AsmString = "incw	$\x01";
15175      break;
15176    }
15177    if (MI->getNumOperands() == 4 &&
15178        MI->getOperand(0).isReg() &&
15179        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15180        MI->getOperand(3).isImm() &&
15181        MI->getOperand(3).getImm() == 1 &&
15182        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15183      // (INCW_XPiI GPR64:$Rdn, sve_pred_enum:$pattern, 1)
15184      AsmString = "incw	$\x01, $\xFF\x03\x0E";
15185      break;
15186    }
15187    return false;
15188  case AArch64::INCW_ZPiI:
15189    if (MI->getNumOperands() == 4 &&
15190        MI->getOperand(0).isReg() &&
15191        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15192        MI->getOperand(2).isImm() &&
15193        MI->getOperand(2).getImm() == 31 &&
15194        MI->getOperand(3).isImm() &&
15195        MI->getOperand(3).getImm() == 1 &&
15196        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15197      // (INCW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1)
15198      AsmString = "incw	$\xFF\x01\x0B";
15199      break;
15200    }
15201    if (MI->getNumOperands() == 4 &&
15202        MI->getOperand(0).isReg() &&
15203        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15204        MI->getOperand(3).isImm() &&
15205        MI->getOperand(3).getImm() == 1 &&
15206        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15207      // (INCW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1)
15208      AsmString = "incw	$\xFF\x01\x0B, $\xFF\x03\x0E";
15209      break;
15210    }
15211    return false;
15212  case AArch64::INSvi16gpr:
15213    if (MI->getNumOperands() == 4 &&
15214        MI->getOperand(0).isReg() &&
15215        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15216        MI->getOperand(3).isReg() &&
15217        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
15218        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15219      // (INSvi16gpr V128:$dst, VectorIndexH:$idx, GPR32:$src)
15220      AsmString = "mov	$\xFF\x01\x0C.h$\xFF\x03\x19, $\x04";
15221      break;
15222    }
15223    return false;
15224  case AArch64::INSvi16lane:
15225    if (MI->getNumOperands() == 5 &&
15226        MI->getOperand(0).isReg() &&
15227        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15228        MI->getOperand(3).isReg() &&
15229        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
15230        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15231      // (INSvi16lane V128:$dst, VectorIndexH:$idx, V128:$src, VectorIndexH:$idx2)
15232      AsmString = "mov	$\xFF\x01\x0C.h$\xFF\x03\x19, $\xFF\x04\x0C.h$\xFF\x05\x19";
15233      break;
15234    }
15235    return false;
15236  case AArch64::INSvi32gpr:
15237    if (MI->getNumOperands() == 4 &&
15238        MI->getOperand(0).isReg() &&
15239        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15240        MI->getOperand(3).isReg() &&
15241        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
15242        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15243      // (INSvi32gpr V128:$dst, VectorIndexS:$idx, GPR32:$src)
15244      AsmString = "mov	$\xFF\x01\x0C.s$\xFF\x03\x19, $\x04";
15245      break;
15246    }
15247    return false;
15248  case AArch64::INSvi32lane:
15249    if (MI->getNumOperands() == 5 &&
15250        MI->getOperand(0).isReg() &&
15251        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15252        MI->getOperand(3).isReg() &&
15253        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
15254        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15255      // (INSvi32lane V128:$dst, VectorIndexS:$idx, V128:$src, VectorIndexS:$idx2)
15256      AsmString = "mov	$\xFF\x01\x0C.s$\xFF\x03\x19, $\xFF\x04\x0C.s$\xFF\x05\x19";
15257      break;
15258    }
15259    return false;
15260  case AArch64::INSvi64gpr:
15261    if (MI->getNumOperands() == 4 &&
15262        MI->getOperand(0).isReg() &&
15263        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15264        MI->getOperand(3).isReg() &&
15265        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(3).getReg()) &&
15266        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15267      // (INSvi64gpr V128:$dst, VectorIndexD:$idx, GPR64:$src)
15268      AsmString = "mov	$\xFF\x01\x0C.d$\xFF\x03\x19, $\x04";
15269      break;
15270    }
15271    return false;
15272  case AArch64::INSvi64lane:
15273    if (MI->getNumOperands() == 5 &&
15274        MI->getOperand(0).isReg() &&
15275        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15276        MI->getOperand(3).isReg() &&
15277        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
15278        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15279      // (INSvi64lane V128:$dst, VectorIndexD:$idx, V128:$src, VectorIndexD:$idx2)
15280      AsmString = "mov	$\xFF\x01\x0C.d$\xFF\x03\x19, $\xFF\x04\x0C.d$\xFF\x05\x19";
15281      break;
15282    }
15283    return false;
15284  case AArch64::INSvi8gpr:
15285    if (MI->getNumOperands() == 4 &&
15286        MI->getOperand(0).isReg() &&
15287        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15288        MI->getOperand(3).isReg() &&
15289        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
15290        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15291      // (INSvi8gpr V128:$dst, VectorIndexB:$idx, GPR32:$src)
15292      AsmString = "mov	$\xFF\x01\x0C.b$\xFF\x03\x19, $\x04";
15293      break;
15294    }
15295    return false;
15296  case AArch64::INSvi8lane:
15297    if (MI->getNumOperands() == 5 &&
15298        MI->getOperand(0).isReg() &&
15299        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
15300        MI->getOperand(3).isReg() &&
15301        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
15302        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15303      // (INSvi8lane V128:$dst, VectorIndexB:$idx, V128:$src, VectorIndexB:$idx2)
15304      AsmString = "mov	$\xFF\x01\x0C.b$\xFF\x03\x19, $\xFF\x04\x0C.b$\xFF\x05\x19";
15305      break;
15306    }
15307    return false;
15308  case AArch64::ISB:
15309    if (MI->getNumOperands() == 1 &&
15310        MI->getOperand(0).isImm() &&
15311        MI->getOperand(0).getImm() == 15) {
15312      // (ISB 15)
15313      AsmString = "isb";
15314      break;
15315    }
15316    return false;
15317  case AArch64::LD1B_D_IMM_REAL:
15318    if (MI->getNumOperands() == 4 &&
15319        MI->getOperand(0).isReg() &&
15320        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15321        MI->getOperand(1).isReg() &&
15322        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15323        MI->getOperand(2).isReg() &&
15324        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15325        MI->getOperand(3).isImm() &&
15326        MI->getOperand(3).getImm() == 0 &&
15327        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15328      // (LD1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15329      AsmString = "ld1b	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15330      break;
15331    }
15332    return false;
15333  case AArch64::LD1B_H_IMM_REAL:
15334    if (MI->getNumOperands() == 4 &&
15335        MI->getOperand(0).isReg() &&
15336        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15337        MI->getOperand(1).isReg() &&
15338        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15339        MI->getOperand(2).isReg() &&
15340        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15341        MI->getOperand(3).isImm() &&
15342        MI->getOperand(3).getImm() == 0 &&
15343        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15344      // (LD1B_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15345      AsmString = "ld1b	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
15346      break;
15347    }
15348    return false;
15349  case AArch64::LD1B_IMM_REAL:
15350    if (MI->getNumOperands() == 4 &&
15351        MI->getOperand(0).isReg() &&
15352        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15353        MI->getOperand(1).isReg() &&
15354        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15355        MI->getOperand(2).isReg() &&
15356        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15357        MI->getOperand(3).isImm() &&
15358        MI->getOperand(3).getImm() == 0 &&
15359        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15360      // (LD1B_IMM_REAL Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15361      AsmString = "ld1b	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
15362      break;
15363    }
15364    return false;
15365  case AArch64::LD1B_S_IMM_REAL:
15366    if (MI->getNumOperands() == 4 &&
15367        MI->getOperand(0).isReg() &&
15368        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15369        MI->getOperand(1).isReg() &&
15370        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15371        MI->getOperand(2).isReg() &&
15372        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15373        MI->getOperand(3).isImm() &&
15374        MI->getOperand(3).getImm() == 0 &&
15375        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15376      // (LD1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15377      AsmString = "ld1b	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15378      break;
15379    }
15380    return false;
15381  case AArch64::LD1D_IMM_REAL:
15382    if (MI->getNumOperands() == 4 &&
15383        MI->getOperand(0).isReg() &&
15384        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15385        MI->getOperand(1).isReg() &&
15386        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15387        MI->getOperand(2).isReg() &&
15388        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15389        MI->getOperand(3).isImm() &&
15390        MI->getOperand(3).getImm() == 0 &&
15391        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15392      // (LD1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15393      AsmString = "ld1d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15394      break;
15395    }
15396    return false;
15397  case AArch64::LD1Fourv16b_POST:
15398    if (MI->getNumOperands() == 4 &&
15399        MI->getOperand(0).isReg() &&
15400        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15401        MI->getOperand(1).isReg() &&
15402        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
15403        MI->getOperand(3).getReg() == AArch64::XZR &&
15404        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15405      // (LD1Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
15406      AsmString = "ld1	$\xFF\x02\x25, [$\x01], #64";
15407      break;
15408    }
15409    return false;
15410  case AArch64::LD1Fourv1d_POST:
15411    if (MI->getNumOperands() == 4 &&
15412        MI->getOperand(0).isReg() &&
15413        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15414        MI->getOperand(1).isReg() &&
15415        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
15416        MI->getOperand(3).getReg() == AArch64::XZR &&
15417        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15418      // (LD1Fourv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR)
15419      AsmString = "ld1	$\xFF\x02\x26, [$\x01], #32";
15420      break;
15421    }
15422    return false;
15423  case AArch64::LD1Fourv2d_POST:
15424    if (MI->getNumOperands() == 4 &&
15425        MI->getOperand(0).isReg() &&
15426        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15427        MI->getOperand(1).isReg() &&
15428        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
15429        MI->getOperand(3).getReg() == AArch64::XZR &&
15430        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15431      // (LD1Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
15432      AsmString = "ld1	$\xFF\x02\x27, [$\x01], #64";
15433      break;
15434    }
15435    return false;
15436  case AArch64::LD1Fourv2s_POST:
15437    if (MI->getNumOperands() == 4 &&
15438        MI->getOperand(0).isReg() &&
15439        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15440        MI->getOperand(1).isReg() &&
15441        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
15442        MI->getOperand(3).getReg() == AArch64::XZR &&
15443        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15444      // (LD1Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
15445      AsmString = "ld1	$\xFF\x02\x28, [$\x01], #32";
15446      break;
15447    }
15448    return false;
15449  case AArch64::LD1Fourv4h_POST:
15450    if (MI->getNumOperands() == 4 &&
15451        MI->getOperand(0).isReg() &&
15452        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15453        MI->getOperand(1).isReg() &&
15454        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
15455        MI->getOperand(3).getReg() == AArch64::XZR &&
15456        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15457      // (LD1Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
15458      AsmString = "ld1	$\xFF\x02\x29, [$\x01], #32";
15459      break;
15460    }
15461    return false;
15462  case AArch64::LD1Fourv4s_POST:
15463    if (MI->getNumOperands() == 4 &&
15464        MI->getOperand(0).isReg() &&
15465        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15466        MI->getOperand(1).isReg() &&
15467        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
15468        MI->getOperand(3).getReg() == AArch64::XZR &&
15469        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15470      // (LD1Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
15471      AsmString = "ld1	$\xFF\x02\x2A, [$\x01], #64";
15472      break;
15473    }
15474    return false;
15475  case AArch64::LD1Fourv8b_POST:
15476    if (MI->getNumOperands() == 4 &&
15477        MI->getOperand(0).isReg() &&
15478        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15479        MI->getOperand(1).isReg() &&
15480        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
15481        MI->getOperand(3).getReg() == AArch64::XZR &&
15482        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15483      // (LD1Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
15484      AsmString = "ld1	$\xFF\x02\x2B, [$\x01], #32";
15485      break;
15486    }
15487    return false;
15488  case AArch64::LD1Fourv8h_POST:
15489    if (MI->getNumOperands() == 4 &&
15490        MI->getOperand(0).isReg() &&
15491        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15492        MI->getOperand(1).isReg() &&
15493        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
15494        MI->getOperand(3).getReg() == AArch64::XZR &&
15495        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15496      // (LD1Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
15497      AsmString = "ld1	$\xFF\x02\x2C, [$\x01], #64";
15498      break;
15499    }
15500    return false;
15501  case AArch64::LD1H_D_IMM_REAL:
15502    if (MI->getNumOperands() == 4 &&
15503        MI->getOperand(0).isReg() &&
15504        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15505        MI->getOperand(1).isReg() &&
15506        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15507        MI->getOperand(2).isReg() &&
15508        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15509        MI->getOperand(3).isImm() &&
15510        MI->getOperand(3).getImm() == 0 &&
15511        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15512      // (LD1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15513      AsmString = "ld1h	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15514      break;
15515    }
15516    return false;
15517  case AArch64::LD1H_IMM_REAL:
15518    if (MI->getNumOperands() == 4 &&
15519        MI->getOperand(0).isReg() &&
15520        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15521        MI->getOperand(1).isReg() &&
15522        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15523        MI->getOperand(2).isReg() &&
15524        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15525        MI->getOperand(3).isImm() &&
15526        MI->getOperand(3).getImm() == 0 &&
15527        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15528      // (LD1H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15529      AsmString = "ld1h	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
15530      break;
15531    }
15532    return false;
15533  case AArch64::LD1H_S_IMM_REAL:
15534    if (MI->getNumOperands() == 4 &&
15535        MI->getOperand(0).isReg() &&
15536        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15537        MI->getOperand(1).isReg() &&
15538        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15539        MI->getOperand(2).isReg() &&
15540        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15541        MI->getOperand(3).isImm() &&
15542        MI->getOperand(3).getImm() == 0 &&
15543        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15544      // (LD1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15545      AsmString = "ld1h	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15546      break;
15547    }
15548    return false;
15549  case AArch64::LD1Onev16b_POST:
15550    if (MI->getNumOperands() == 4 &&
15551        MI->getOperand(0).isReg() &&
15552        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15553        MI->getOperand(1).isReg() &&
15554        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
15555        MI->getOperand(3).getReg() == AArch64::XZR &&
15556        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15557      // (LD1Onev16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR)
15558      AsmString = "ld1	$\xFF\x02\x25, [$\x01], #16";
15559      break;
15560    }
15561    return false;
15562  case AArch64::LD1Onev1d_POST:
15563    if (MI->getNumOperands() == 4 &&
15564        MI->getOperand(0).isReg() &&
15565        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15566        MI->getOperand(1).isReg() &&
15567        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15568        MI->getOperand(3).getReg() == AArch64::XZR &&
15569        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15570      // (LD1Onev1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR)
15571      AsmString = "ld1	$\xFF\x02\x26, [$\x01], #8";
15572      break;
15573    }
15574    return false;
15575  case AArch64::LD1Onev2d_POST:
15576    if (MI->getNumOperands() == 4 &&
15577        MI->getOperand(0).isReg() &&
15578        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15579        MI->getOperand(1).isReg() &&
15580        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
15581        MI->getOperand(3).getReg() == AArch64::XZR &&
15582        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15583      // (LD1Onev2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR)
15584      AsmString = "ld1	$\xFF\x02\x27, [$\x01], #16";
15585      break;
15586    }
15587    return false;
15588  case AArch64::LD1Onev2s_POST:
15589    if (MI->getNumOperands() == 4 &&
15590        MI->getOperand(0).isReg() &&
15591        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15592        MI->getOperand(1).isReg() &&
15593        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15594        MI->getOperand(3).getReg() == AArch64::XZR &&
15595        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15596      // (LD1Onev2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR)
15597      AsmString = "ld1	$\xFF\x02\x28, [$\x01], #8";
15598      break;
15599    }
15600    return false;
15601  case AArch64::LD1Onev4h_POST:
15602    if (MI->getNumOperands() == 4 &&
15603        MI->getOperand(0).isReg() &&
15604        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15605        MI->getOperand(1).isReg() &&
15606        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15607        MI->getOperand(3).getReg() == AArch64::XZR &&
15608        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15609      // (LD1Onev4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR)
15610      AsmString = "ld1	$\xFF\x02\x29, [$\x01], #8";
15611      break;
15612    }
15613    return false;
15614  case AArch64::LD1Onev4s_POST:
15615    if (MI->getNumOperands() == 4 &&
15616        MI->getOperand(0).isReg() &&
15617        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15618        MI->getOperand(1).isReg() &&
15619        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
15620        MI->getOperand(3).getReg() == AArch64::XZR &&
15621        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15622      // (LD1Onev4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR)
15623      AsmString = "ld1	$\xFF\x02\x2A, [$\x01], #16";
15624      break;
15625    }
15626    return false;
15627  case AArch64::LD1Onev8b_POST:
15628    if (MI->getNumOperands() == 4 &&
15629        MI->getOperand(0).isReg() &&
15630        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15631        MI->getOperand(1).isReg() &&
15632        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15633        MI->getOperand(3).getReg() == AArch64::XZR &&
15634        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15635      // (LD1Onev8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR)
15636      AsmString = "ld1	$\xFF\x02\x2B, [$\x01], #8";
15637      break;
15638    }
15639    return false;
15640  case AArch64::LD1Onev8h_POST:
15641    if (MI->getNumOperands() == 4 &&
15642        MI->getOperand(0).isReg() &&
15643        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15644        MI->getOperand(1).isReg() &&
15645        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
15646        MI->getOperand(3).getReg() == AArch64::XZR &&
15647        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15648      // (LD1Onev8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR)
15649      AsmString = "ld1	$\xFF\x02\x2C, [$\x01], #16";
15650      break;
15651    }
15652    return false;
15653  case AArch64::LD1RB_D_IMM:
15654    if (MI->getNumOperands() == 4 &&
15655        MI->getOperand(0).isReg() &&
15656        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15657        MI->getOperand(1).isReg() &&
15658        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15659        MI->getOperand(2).isReg() &&
15660        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15661        MI->getOperand(3).isImm() &&
15662        MI->getOperand(3).getImm() == 0 &&
15663        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15664      // (LD1RB_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15665      AsmString = "ld1rb	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15666      break;
15667    }
15668    return false;
15669  case AArch64::LD1RB_H_IMM:
15670    if (MI->getNumOperands() == 4 &&
15671        MI->getOperand(0).isReg() &&
15672        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15673        MI->getOperand(1).isReg() &&
15674        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15675        MI->getOperand(2).isReg() &&
15676        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15677        MI->getOperand(3).isImm() &&
15678        MI->getOperand(3).getImm() == 0 &&
15679        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15680      // (LD1RB_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15681      AsmString = "ld1rb	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
15682      break;
15683    }
15684    return false;
15685  case AArch64::LD1RB_IMM:
15686    if (MI->getNumOperands() == 4 &&
15687        MI->getOperand(0).isReg() &&
15688        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15689        MI->getOperand(1).isReg() &&
15690        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15691        MI->getOperand(2).isReg() &&
15692        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15693        MI->getOperand(3).isImm() &&
15694        MI->getOperand(3).getImm() == 0 &&
15695        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15696      // (LD1RB_IMM Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15697      AsmString = "ld1rb	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
15698      break;
15699    }
15700    return false;
15701  case AArch64::LD1RB_S_IMM:
15702    if (MI->getNumOperands() == 4 &&
15703        MI->getOperand(0).isReg() &&
15704        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15705        MI->getOperand(1).isReg() &&
15706        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15707        MI->getOperand(2).isReg() &&
15708        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15709        MI->getOperand(3).isImm() &&
15710        MI->getOperand(3).getImm() == 0 &&
15711        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15712      // (LD1RB_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15713      AsmString = "ld1rb	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15714      break;
15715    }
15716    return false;
15717  case AArch64::LD1RD_IMM:
15718    if (MI->getNumOperands() == 4 &&
15719        MI->getOperand(0).isReg() &&
15720        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15721        MI->getOperand(1).isReg() &&
15722        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15723        MI->getOperand(2).isReg() &&
15724        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15725        MI->getOperand(3).isImm() &&
15726        MI->getOperand(3).getImm() == 0 &&
15727        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15728      // (LD1RD_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15729      AsmString = "ld1rd	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15730      break;
15731    }
15732    return false;
15733  case AArch64::LD1RH_D_IMM:
15734    if (MI->getNumOperands() == 4 &&
15735        MI->getOperand(0).isReg() &&
15736        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15737        MI->getOperand(1).isReg() &&
15738        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15739        MI->getOperand(2).isReg() &&
15740        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15741        MI->getOperand(3).isImm() &&
15742        MI->getOperand(3).getImm() == 0 &&
15743        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15744      // (LD1RH_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15745      AsmString = "ld1rh	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15746      break;
15747    }
15748    return false;
15749  case AArch64::LD1RH_IMM:
15750    if (MI->getNumOperands() == 4 &&
15751        MI->getOperand(0).isReg() &&
15752        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15753        MI->getOperand(1).isReg() &&
15754        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15755        MI->getOperand(2).isReg() &&
15756        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15757        MI->getOperand(3).isImm() &&
15758        MI->getOperand(3).getImm() == 0 &&
15759        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15760      // (LD1RH_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15761      AsmString = "ld1rh	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
15762      break;
15763    }
15764    return false;
15765  case AArch64::LD1RH_S_IMM:
15766    if (MI->getNumOperands() == 4 &&
15767        MI->getOperand(0).isReg() &&
15768        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15769        MI->getOperand(1).isReg() &&
15770        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15771        MI->getOperand(2).isReg() &&
15772        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15773        MI->getOperand(3).isImm() &&
15774        MI->getOperand(3).getImm() == 0 &&
15775        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15776      // (LD1RH_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15777      AsmString = "ld1rh	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15778      break;
15779    }
15780    return false;
15781  case AArch64::LD1RQ_B_IMM:
15782    if (MI->getNumOperands() == 4 &&
15783        MI->getOperand(0).isReg() &&
15784        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15785        MI->getOperand(1).isReg() &&
15786        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15787        MI->getOperand(2).isReg() &&
15788        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15789        MI->getOperand(3).isImm() &&
15790        MI->getOperand(3).getImm() == 0 &&
15791        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15792      // (LD1RQ_B_IMM Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15793      AsmString = "ld1rqb	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
15794      break;
15795    }
15796    return false;
15797  case AArch64::LD1RQ_D_IMM:
15798    if (MI->getNumOperands() == 4 &&
15799        MI->getOperand(0).isReg() &&
15800        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15801        MI->getOperand(1).isReg() &&
15802        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15803        MI->getOperand(2).isReg() &&
15804        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15805        MI->getOperand(3).isImm() &&
15806        MI->getOperand(3).getImm() == 0 &&
15807        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15808      // (LD1RQ_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15809      AsmString = "ld1rqd	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15810      break;
15811    }
15812    return false;
15813  case AArch64::LD1RQ_H_IMM:
15814    if (MI->getNumOperands() == 4 &&
15815        MI->getOperand(0).isReg() &&
15816        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15817        MI->getOperand(1).isReg() &&
15818        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15819        MI->getOperand(2).isReg() &&
15820        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15821        MI->getOperand(3).isImm() &&
15822        MI->getOperand(3).getImm() == 0 &&
15823        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15824      // (LD1RQ_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15825      AsmString = "ld1rqh	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
15826      break;
15827    }
15828    return false;
15829  case AArch64::LD1RQ_W_IMM:
15830    if (MI->getNumOperands() == 4 &&
15831        MI->getOperand(0).isReg() &&
15832        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15833        MI->getOperand(1).isReg() &&
15834        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15835        MI->getOperand(2).isReg() &&
15836        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15837        MI->getOperand(3).isImm() &&
15838        MI->getOperand(3).getImm() == 0 &&
15839        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15840      // (LD1RQ_W_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15841      AsmString = "ld1rqw	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15842      break;
15843    }
15844    return false;
15845  case AArch64::LD1RSB_D_IMM:
15846    if (MI->getNumOperands() == 4 &&
15847        MI->getOperand(0).isReg() &&
15848        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15849        MI->getOperand(1).isReg() &&
15850        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15851        MI->getOperand(2).isReg() &&
15852        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15853        MI->getOperand(3).isImm() &&
15854        MI->getOperand(3).getImm() == 0 &&
15855        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15856      // (LD1RSB_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15857      AsmString = "ld1rsb	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15858      break;
15859    }
15860    return false;
15861  case AArch64::LD1RSB_H_IMM:
15862    if (MI->getNumOperands() == 4 &&
15863        MI->getOperand(0).isReg() &&
15864        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15865        MI->getOperand(1).isReg() &&
15866        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15867        MI->getOperand(2).isReg() &&
15868        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15869        MI->getOperand(3).isImm() &&
15870        MI->getOperand(3).getImm() == 0 &&
15871        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15872      // (LD1RSB_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15873      AsmString = "ld1rsb	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
15874      break;
15875    }
15876    return false;
15877  case AArch64::LD1RSB_S_IMM:
15878    if (MI->getNumOperands() == 4 &&
15879        MI->getOperand(0).isReg() &&
15880        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15881        MI->getOperand(1).isReg() &&
15882        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15883        MI->getOperand(2).isReg() &&
15884        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15885        MI->getOperand(3).isImm() &&
15886        MI->getOperand(3).getImm() == 0 &&
15887        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15888      // (LD1RSB_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15889      AsmString = "ld1rsb	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15890      break;
15891    }
15892    return false;
15893  case AArch64::LD1RSH_D_IMM:
15894    if (MI->getNumOperands() == 4 &&
15895        MI->getOperand(0).isReg() &&
15896        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15897        MI->getOperand(1).isReg() &&
15898        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15899        MI->getOperand(2).isReg() &&
15900        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15901        MI->getOperand(3).isImm() &&
15902        MI->getOperand(3).getImm() == 0 &&
15903        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15904      // (LD1RSH_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15905      AsmString = "ld1rsh	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15906      break;
15907    }
15908    return false;
15909  case AArch64::LD1RSH_S_IMM:
15910    if (MI->getNumOperands() == 4 &&
15911        MI->getOperand(0).isReg() &&
15912        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15913        MI->getOperand(1).isReg() &&
15914        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15915        MI->getOperand(2).isReg() &&
15916        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15917        MI->getOperand(3).isImm() &&
15918        MI->getOperand(3).getImm() == 0 &&
15919        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15920      // (LD1RSH_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15921      AsmString = "ld1rsh	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15922      break;
15923    }
15924    return false;
15925  case AArch64::LD1RSW_IMM:
15926    if (MI->getNumOperands() == 4 &&
15927        MI->getOperand(0).isReg() &&
15928        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15929        MI->getOperand(1).isReg() &&
15930        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15931        MI->getOperand(2).isReg() &&
15932        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15933        MI->getOperand(3).isImm() &&
15934        MI->getOperand(3).getImm() == 0 &&
15935        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15936      // (LD1RSW_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15937      AsmString = "ld1rsw	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15938      break;
15939    }
15940    return false;
15941  case AArch64::LD1RW_D_IMM:
15942    if (MI->getNumOperands() == 4 &&
15943        MI->getOperand(0).isReg() &&
15944        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15945        MI->getOperand(1).isReg() &&
15946        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15947        MI->getOperand(2).isReg() &&
15948        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15949        MI->getOperand(3).isImm() &&
15950        MI->getOperand(3).getImm() == 0 &&
15951        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15952      // (LD1RW_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15953      AsmString = "ld1rw	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
15954      break;
15955    }
15956    return false;
15957  case AArch64::LD1RW_IMM:
15958    if (MI->getNumOperands() == 4 &&
15959        MI->getOperand(0).isReg() &&
15960        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15961        MI->getOperand(1).isReg() &&
15962        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
15963        MI->getOperand(2).isReg() &&
15964        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
15965        MI->getOperand(3).isImm() &&
15966        MI->getOperand(3).getImm() == 0 &&
15967        STI.getFeatureBits()[AArch64::FeatureSVE]) {
15968      // (LD1RW_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
15969      AsmString = "ld1rw	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
15970      break;
15971    }
15972    return false;
15973  case AArch64::LD1Rv16b_POST:
15974    if (MI->getNumOperands() == 4 &&
15975        MI->getOperand(0).isReg() &&
15976        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15977        MI->getOperand(1).isReg() &&
15978        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
15979        MI->getOperand(3).getReg() == AArch64::XZR &&
15980        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15981      // (LD1Rv16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR)
15982      AsmString = "ld1r	$\xFF\x02\x25, [$\x01], #1";
15983      break;
15984    }
15985    return false;
15986  case AArch64::LD1Rv1d_POST:
15987    if (MI->getNumOperands() == 4 &&
15988        MI->getOperand(0).isReg() &&
15989        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15990        MI->getOperand(1).isReg() &&
15991        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15992        MI->getOperand(3).getReg() == AArch64::XZR &&
15993        STI.getFeatureBits()[AArch64::FeatureNEON]) {
15994      // (LD1Rv1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR)
15995      AsmString = "ld1r	$\xFF\x02\x26, [$\x01], #8";
15996      break;
15997    }
15998    return false;
15999  case AArch64::LD1Rv2d_POST:
16000    if (MI->getNumOperands() == 4 &&
16001        MI->getOperand(0).isReg() &&
16002        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16003        MI->getOperand(1).isReg() &&
16004        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
16005        MI->getOperand(3).getReg() == AArch64::XZR &&
16006        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16007      // (LD1Rv2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR)
16008      AsmString = "ld1r	$\xFF\x02\x27, [$\x01], #8";
16009      break;
16010    }
16011    return false;
16012  case AArch64::LD1Rv2s_POST:
16013    if (MI->getNumOperands() == 4 &&
16014        MI->getOperand(0).isReg() &&
16015        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16016        MI->getOperand(1).isReg() &&
16017        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16018        MI->getOperand(3).getReg() == AArch64::XZR &&
16019        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16020      // (LD1Rv2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR)
16021      AsmString = "ld1r	$\xFF\x02\x28, [$\x01], #4";
16022      break;
16023    }
16024    return false;
16025  case AArch64::LD1Rv4h_POST:
16026    if (MI->getNumOperands() == 4 &&
16027        MI->getOperand(0).isReg() &&
16028        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16029        MI->getOperand(1).isReg() &&
16030        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16031        MI->getOperand(3).getReg() == AArch64::XZR &&
16032        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16033      // (LD1Rv4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR)
16034      AsmString = "ld1r	$\xFF\x02\x29, [$\x01], #2";
16035      break;
16036    }
16037    return false;
16038  case AArch64::LD1Rv4s_POST:
16039    if (MI->getNumOperands() == 4 &&
16040        MI->getOperand(0).isReg() &&
16041        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16042        MI->getOperand(1).isReg() &&
16043        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
16044        MI->getOperand(3).getReg() == AArch64::XZR &&
16045        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16046      // (LD1Rv4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR)
16047      AsmString = "ld1r	$\xFF\x02\x2A, [$\x01], #4";
16048      break;
16049    }
16050    return false;
16051  case AArch64::LD1Rv8b_POST:
16052    if (MI->getNumOperands() == 4 &&
16053        MI->getOperand(0).isReg() &&
16054        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16055        MI->getOperand(1).isReg() &&
16056        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16057        MI->getOperand(3).getReg() == AArch64::XZR &&
16058        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16059      // (LD1Rv8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR)
16060      AsmString = "ld1r	$\xFF\x02\x2B, [$\x01], #1";
16061      break;
16062    }
16063    return false;
16064  case AArch64::LD1Rv8h_POST:
16065    if (MI->getNumOperands() == 4 &&
16066        MI->getOperand(0).isReg() &&
16067        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16068        MI->getOperand(1).isReg() &&
16069        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
16070        MI->getOperand(3).getReg() == AArch64::XZR &&
16071        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16072      // (LD1Rv8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR)
16073      AsmString = "ld1r	$\xFF\x02\x2C, [$\x01], #2";
16074      break;
16075    }
16076    return false;
16077  case AArch64::LD1SB_D_IMM_REAL:
16078    if (MI->getNumOperands() == 4 &&
16079        MI->getOperand(0).isReg() &&
16080        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16081        MI->getOperand(1).isReg() &&
16082        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16083        MI->getOperand(2).isReg() &&
16084        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16085        MI->getOperand(3).isImm() &&
16086        MI->getOperand(3).getImm() == 0 &&
16087        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16088      // (LD1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16089      AsmString = "ld1sb	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
16090      break;
16091    }
16092    return false;
16093  case AArch64::LD1SB_H_IMM_REAL:
16094    if (MI->getNumOperands() == 4 &&
16095        MI->getOperand(0).isReg() &&
16096        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16097        MI->getOperand(1).isReg() &&
16098        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16099        MI->getOperand(2).isReg() &&
16100        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16101        MI->getOperand(3).isImm() &&
16102        MI->getOperand(3).getImm() == 0 &&
16103        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16104      // (LD1SB_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16105      AsmString = "ld1sb	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
16106      break;
16107    }
16108    return false;
16109  case AArch64::LD1SB_S_IMM_REAL:
16110    if (MI->getNumOperands() == 4 &&
16111        MI->getOperand(0).isReg() &&
16112        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16113        MI->getOperand(1).isReg() &&
16114        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16115        MI->getOperand(2).isReg() &&
16116        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16117        MI->getOperand(3).isImm() &&
16118        MI->getOperand(3).getImm() == 0 &&
16119        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16120      // (LD1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16121      AsmString = "ld1sb	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
16122      break;
16123    }
16124    return false;
16125  case AArch64::LD1SH_D_IMM_REAL:
16126    if (MI->getNumOperands() == 4 &&
16127        MI->getOperand(0).isReg() &&
16128        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16129        MI->getOperand(1).isReg() &&
16130        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16131        MI->getOperand(2).isReg() &&
16132        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16133        MI->getOperand(3).isImm() &&
16134        MI->getOperand(3).getImm() == 0 &&
16135        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16136      // (LD1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16137      AsmString = "ld1sh	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
16138      break;
16139    }
16140    return false;
16141  case AArch64::LD1SH_S_IMM_REAL:
16142    if (MI->getNumOperands() == 4 &&
16143        MI->getOperand(0).isReg() &&
16144        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16145        MI->getOperand(1).isReg() &&
16146        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16147        MI->getOperand(2).isReg() &&
16148        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16149        MI->getOperand(3).isImm() &&
16150        MI->getOperand(3).getImm() == 0 &&
16151        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16152      // (LD1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16153      AsmString = "ld1sh	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
16154      break;
16155    }
16156    return false;
16157  case AArch64::LD1SW_D_IMM_REAL:
16158    if (MI->getNumOperands() == 4 &&
16159        MI->getOperand(0).isReg() &&
16160        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16161        MI->getOperand(1).isReg() &&
16162        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16163        MI->getOperand(2).isReg() &&
16164        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16165        MI->getOperand(3).isImm() &&
16166        MI->getOperand(3).getImm() == 0 &&
16167        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16168      // (LD1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16169      AsmString = "ld1sw	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
16170      break;
16171    }
16172    return false;
16173  case AArch64::LD1Threev16b_POST:
16174    if (MI->getNumOperands() == 4 &&
16175        MI->getOperand(0).isReg() &&
16176        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16177        MI->getOperand(1).isReg() &&
16178        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16179        MI->getOperand(3).getReg() == AArch64::XZR &&
16180        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16181      // (LD1Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
16182      AsmString = "ld1	$\xFF\x02\x25, [$\x01], #48";
16183      break;
16184    }
16185    return false;
16186  case AArch64::LD1Threev1d_POST:
16187    if (MI->getNumOperands() == 4 &&
16188        MI->getOperand(0).isReg() &&
16189        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16190        MI->getOperand(1).isReg() &&
16191        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16192        MI->getOperand(3).getReg() == AArch64::XZR &&
16193        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16194      // (LD1Threev1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR)
16195      AsmString = "ld1	$\xFF\x02\x26, [$\x01], #24";
16196      break;
16197    }
16198    return false;
16199  case AArch64::LD1Threev2d_POST:
16200    if (MI->getNumOperands() == 4 &&
16201        MI->getOperand(0).isReg() &&
16202        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16203        MI->getOperand(1).isReg() &&
16204        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16205        MI->getOperand(3).getReg() == AArch64::XZR &&
16206        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16207      // (LD1Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
16208      AsmString = "ld1	$\xFF\x02\x27, [$\x01], #48";
16209      break;
16210    }
16211    return false;
16212  case AArch64::LD1Threev2s_POST:
16213    if (MI->getNumOperands() == 4 &&
16214        MI->getOperand(0).isReg() &&
16215        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16216        MI->getOperand(1).isReg() &&
16217        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16218        MI->getOperand(3).getReg() == AArch64::XZR &&
16219        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16220      // (LD1Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
16221      AsmString = "ld1	$\xFF\x02\x28, [$\x01], #24";
16222      break;
16223    }
16224    return false;
16225  case AArch64::LD1Threev4h_POST:
16226    if (MI->getNumOperands() == 4 &&
16227        MI->getOperand(0).isReg() &&
16228        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16229        MI->getOperand(1).isReg() &&
16230        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16231        MI->getOperand(3).getReg() == AArch64::XZR &&
16232        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16233      // (LD1Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
16234      AsmString = "ld1	$\xFF\x02\x29, [$\x01], #24";
16235      break;
16236    }
16237    return false;
16238  case AArch64::LD1Threev4s_POST:
16239    if (MI->getNumOperands() == 4 &&
16240        MI->getOperand(0).isReg() &&
16241        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16242        MI->getOperand(1).isReg() &&
16243        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16244        MI->getOperand(3).getReg() == AArch64::XZR &&
16245        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16246      // (LD1Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
16247      AsmString = "ld1	$\xFF\x02\x2A, [$\x01], #48";
16248      break;
16249    }
16250    return false;
16251  case AArch64::LD1Threev8b_POST:
16252    if (MI->getNumOperands() == 4 &&
16253        MI->getOperand(0).isReg() &&
16254        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16255        MI->getOperand(1).isReg() &&
16256        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16257        MI->getOperand(3).getReg() == AArch64::XZR &&
16258        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16259      // (LD1Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
16260      AsmString = "ld1	$\xFF\x02\x2B, [$\x01], #24";
16261      break;
16262    }
16263    return false;
16264  case AArch64::LD1Threev8h_POST:
16265    if (MI->getNumOperands() == 4 &&
16266        MI->getOperand(0).isReg() &&
16267        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16268        MI->getOperand(1).isReg() &&
16269        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16270        MI->getOperand(3).getReg() == AArch64::XZR &&
16271        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16272      // (LD1Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
16273      AsmString = "ld1	$\xFF\x02\x2C, [$\x01], #48";
16274      break;
16275    }
16276    return false;
16277  case AArch64::LD1Twov16b_POST:
16278    if (MI->getNumOperands() == 4 &&
16279        MI->getOperand(0).isReg() &&
16280        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16281        MI->getOperand(1).isReg() &&
16282        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16283        MI->getOperand(3).getReg() == AArch64::XZR &&
16284        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16285      // (LD1Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
16286      AsmString = "ld1	$\xFF\x02\x25, [$\x01], #32";
16287      break;
16288    }
16289    return false;
16290  case AArch64::LD1Twov1d_POST:
16291    if (MI->getNumOperands() == 4 &&
16292        MI->getOperand(0).isReg() &&
16293        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16294        MI->getOperand(1).isReg() &&
16295        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16296        MI->getOperand(3).getReg() == AArch64::XZR &&
16297        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16298      // (LD1Twov1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR)
16299      AsmString = "ld1	$\xFF\x02\x26, [$\x01], #16";
16300      break;
16301    }
16302    return false;
16303  case AArch64::LD1Twov2d_POST:
16304    if (MI->getNumOperands() == 4 &&
16305        MI->getOperand(0).isReg() &&
16306        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16307        MI->getOperand(1).isReg() &&
16308        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16309        MI->getOperand(3).getReg() == AArch64::XZR &&
16310        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16311      // (LD1Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
16312      AsmString = "ld1	$\xFF\x02\x27, [$\x01], #32";
16313      break;
16314    }
16315    return false;
16316  case AArch64::LD1Twov2s_POST:
16317    if (MI->getNumOperands() == 4 &&
16318        MI->getOperand(0).isReg() &&
16319        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16320        MI->getOperand(1).isReg() &&
16321        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16322        MI->getOperand(3).getReg() == AArch64::XZR &&
16323        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16324      // (LD1Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
16325      AsmString = "ld1	$\xFF\x02\x28, [$\x01], #16";
16326      break;
16327    }
16328    return false;
16329  case AArch64::LD1Twov4h_POST:
16330    if (MI->getNumOperands() == 4 &&
16331        MI->getOperand(0).isReg() &&
16332        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16333        MI->getOperand(1).isReg() &&
16334        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16335        MI->getOperand(3).getReg() == AArch64::XZR &&
16336        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16337      // (LD1Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
16338      AsmString = "ld1	$\xFF\x02\x29, [$\x01], #16";
16339      break;
16340    }
16341    return false;
16342  case AArch64::LD1Twov4s_POST:
16343    if (MI->getNumOperands() == 4 &&
16344        MI->getOperand(0).isReg() &&
16345        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16346        MI->getOperand(1).isReg() &&
16347        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16348        MI->getOperand(3).getReg() == AArch64::XZR &&
16349        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16350      // (LD1Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
16351      AsmString = "ld1	$\xFF\x02\x2A, [$\x01], #32";
16352      break;
16353    }
16354    return false;
16355  case AArch64::LD1Twov8b_POST:
16356    if (MI->getNumOperands() == 4 &&
16357        MI->getOperand(0).isReg() &&
16358        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16359        MI->getOperand(1).isReg() &&
16360        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16361        MI->getOperand(3).getReg() == AArch64::XZR &&
16362        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16363      // (LD1Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
16364      AsmString = "ld1	$\xFF\x02\x2B, [$\x01], #16";
16365      break;
16366    }
16367    return false;
16368  case AArch64::LD1Twov8h_POST:
16369    if (MI->getNumOperands() == 4 &&
16370        MI->getOperand(0).isReg() &&
16371        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16372        MI->getOperand(1).isReg() &&
16373        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16374        MI->getOperand(3).getReg() == AArch64::XZR &&
16375        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16376      // (LD1Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
16377      AsmString = "ld1	$\xFF\x02\x2C, [$\x01], #32";
16378      break;
16379    }
16380    return false;
16381  case AArch64::LD1W_D_IMM_REAL:
16382    if (MI->getNumOperands() == 4 &&
16383        MI->getOperand(0).isReg() &&
16384        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16385        MI->getOperand(1).isReg() &&
16386        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16387        MI->getOperand(2).isReg() &&
16388        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16389        MI->getOperand(3).isImm() &&
16390        MI->getOperand(3).getImm() == 0 &&
16391        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16392      // (LD1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16393      AsmString = "ld1w	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
16394      break;
16395    }
16396    return false;
16397  case AArch64::LD1W_IMM_REAL:
16398    if (MI->getNumOperands() == 4 &&
16399        MI->getOperand(0).isReg() &&
16400        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16401        MI->getOperand(1).isReg() &&
16402        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16403        MI->getOperand(2).isReg() &&
16404        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16405        MI->getOperand(3).isImm() &&
16406        MI->getOperand(3).getImm() == 0 &&
16407        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16408      // (LD1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16409      AsmString = "ld1w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
16410      break;
16411    }
16412    return false;
16413  case AArch64::LD1i16_POST:
16414    if (MI->getNumOperands() == 6 &&
16415        MI->getOperand(0).isReg() &&
16416        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16417        MI->getOperand(1).isReg() &&
16418        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
16419        MI->getOperand(5).getReg() == AArch64::XZR &&
16420        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16421      // (LD1i16_POST GPR64sp:$Rn, VecListOneh:$Vt, VectorIndexH:$idx, XZR)
16422      AsmString = "ld1	$\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #2";
16423      break;
16424    }
16425    return false;
16426  case AArch64::LD1i32_POST:
16427    if (MI->getNumOperands() == 6 &&
16428        MI->getOperand(0).isReg() &&
16429        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16430        MI->getOperand(1).isReg() &&
16431        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
16432        MI->getOperand(5).getReg() == AArch64::XZR &&
16433        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16434      // (LD1i32_POST GPR64sp:$Rn, VecListOnes:$Vt, VectorIndexS:$idx, XZR)
16435      AsmString = "ld1	$\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #4";
16436      break;
16437    }
16438    return false;
16439  case AArch64::LD1i64_POST:
16440    if (MI->getNumOperands() == 6 &&
16441        MI->getOperand(0).isReg() &&
16442        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16443        MI->getOperand(1).isReg() &&
16444        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
16445        MI->getOperand(5).getReg() == AArch64::XZR &&
16446        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16447      // (LD1i64_POST GPR64sp:$Rn, VecListOned:$Vt, VectorIndexD:$idx, XZR)
16448      AsmString = "ld1	$\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #8";
16449      break;
16450    }
16451    return false;
16452  case AArch64::LD1i8_POST:
16453    if (MI->getNumOperands() == 6 &&
16454        MI->getOperand(0).isReg() &&
16455        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16456        MI->getOperand(1).isReg() &&
16457        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
16458        MI->getOperand(5).getReg() == AArch64::XZR &&
16459        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16460      // (LD1i8_POST GPR64sp:$Rn, VecListOneb:$Vt, VectorIndexB:$idx, XZR)
16461      AsmString = "ld1	$\xFF\x02\x30$\xFF\x04\x19, [$\x01], #1";
16462      break;
16463    }
16464    return false;
16465  case AArch64::LD2B_IMM:
16466    if (MI->getNumOperands() == 4 &&
16467        MI->getOperand(0).isReg() &&
16468        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
16469        MI->getOperand(1).isReg() &&
16470        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16471        MI->getOperand(2).isReg() &&
16472        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16473        MI->getOperand(3).isImm() &&
16474        MI->getOperand(3).getImm() == 0 &&
16475        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16476      // (LD2B_IMM ZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16477      AsmString = "ld2b	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
16478      break;
16479    }
16480    return false;
16481  case AArch64::LD2D_IMM:
16482    if (MI->getNumOperands() == 4 &&
16483        MI->getOperand(0).isReg() &&
16484        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
16485        MI->getOperand(1).isReg() &&
16486        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16487        MI->getOperand(2).isReg() &&
16488        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16489        MI->getOperand(3).isImm() &&
16490        MI->getOperand(3).getImm() == 0 &&
16491        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16492      // (LD2D_IMM ZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16493      AsmString = "ld2d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
16494      break;
16495    }
16496    return false;
16497  case AArch64::LD2H_IMM:
16498    if (MI->getNumOperands() == 4 &&
16499        MI->getOperand(0).isReg() &&
16500        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
16501        MI->getOperand(1).isReg() &&
16502        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16503        MI->getOperand(2).isReg() &&
16504        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16505        MI->getOperand(3).isImm() &&
16506        MI->getOperand(3).getImm() == 0 &&
16507        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16508      // (LD2H_IMM ZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16509      AsmString = "ld2h	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
16510      break;
16511    }
16512    return false;
16513  case AArch64::LD2Rv16b_POST:
16514    if (MI->getNumOperands() == 4 &&
16515        MI->getOperand(0).isReg() &&
16516        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16517        MI->getOperand(1).isReg() &&
16518        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16519        MI->getOperand(3).getReg() == AArch64::XZR &&
16520        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16521      // (LD2Rv16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
16522      AsmString = "ld2r	$\xFF\x02\x25, [$\x01], #2";
16523      break;
16524    }
16525    return false;
16526  case AArch64::LD2Rv1d_POST:
16527    if (MI->getNumOperands() == 4 &&
16528        MI->getOperand(0).isReg() &&
16529        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16530        MI->getOperand(1).isReg() &&
16531        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16532        MI->getOperand(3).getReg() == AArch64::XZR &&
16533        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16534      // (LD2Rv1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR)
16535      AsmString = "ld2r	$\xFF\x02\x26, [$\x01], #16";
16536      break;
16537    }
16538    return false;
16539  case AArch64::LD2Rv2d_POST:
16540    if (MI->getNumOperands() == 4 &&
16541        MI->getOperand(0).isReg() &&
16542        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16543        MI->getOperand(1).isReg() &&
16544        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16545        MI->getOperand(3).getReg() == AArch64::XZR &&
16546        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16547      // (LD2Rv2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
16548      AsmString = "ld2r	$\xFF\x02\x27, [$\x01], #16";
16549      break;
16550    }
16551    return false;
16552  case AArch64::LD2Rv2s_POST:
16553    if (MI->getNumOperands() == 4 &&
16554        MI->getOperand(0).isReg() &&
16555        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16556        MI->getOperand(1).isReg() &&
16557        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16558        MI->getOperand(3).getReg() == AArch64::XZR &&
16559        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16560      // (LD2Rv2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
16561      AsmString = "ld2r	$\xFF\x02\x28, [$\x01], #8";
16562      break;
16563    }
16564    return false;
16565  case AArch64::LD2Rv4h_POST:
16566    if (MI->getNumOperands() == 4 &&
16567        MI->getOperand(0).isReg() &&
16568        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16569        MI->getOperand(1).isReg() &&
16570        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16571        MI->getOperand(3).getReg() == AArch64::XZR &&
16572        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16573      // (LD2Rv4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
16574      AsmString = "ld2r	$\xFF\x02\x29, [$\x01], #4";
16575      break;
16576    }
16577    return false;
16578  case AArch64::LD2Rv4s_POST:
16579    if (MI->getNumOperands() == 4 &&
16580        MI->getOperand(0).isReg() &&
16581        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16582        MI->getOperand(1).isReg() &&
16583        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16584        MI->getOperand(3).getReg() == AArch64::XZR &&
16585        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16586      // (LD2Rv4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
16587      AsmString = "ld2r	$\xFF\x02\x2A, [$\x01], #8";
16588      break;
16589    }
16590    return false;
16591  case AArch64::LD2Rv8b_POST:
16592    if (MI->getNumOperands() == 4 &&
16593        MI->getOperand(0).isReg() &&
16594        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16595        MI->getOperand(1).isReg() &&
16596        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16597        MI->getOperand(3).getReg() == AArch64::XZR &&
16598        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16599      // (LD2Rv8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
16600      AsmString = "ld2r	$\xFF\x02\x2B, [$\x01], #2";
16601      break;
16602    }
16603    return false;
16604  case AArch64::LD2Rv8h_POST:
16605    if (MI->getNumOperands() == 4 &&
16606        MI->getOperand(0).isReg() &&
16607        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16608        MI->getOperand(1).isReg() &&
16609        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16610        MI->getOperand(3).getReg() == AArch64::XZR &&
16611        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16612      // (LD2Rv8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
16613      AsmString = "ld2r	$\xFF\x02\x2C, [$\x01], #4";
16614      break;
16615    }
16616    return false;
16617  case AArch64::LD2Twov16b_POST:
16618    if (MI->getNumOperands() == 4 &&
16619        MI->getOperand(0).isReg() &&
16620        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16621        MI->getOperand(1).isReg() &&
16622        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16623        MI->getOperand(3).getReg() == AArch64::XZR &&
16624        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16625      // (LD2Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
16626      AsmString = "ld2	$\xFF\x02\x25, [$\x01], #32";
16627      break;
16628    }
16629    return false;
16630  case AArch64::LD2Twov2d_POST:
16631    if (MI->getNumOperands() == 4 &&
16632        MI->getOperand(0).isReg() &&
16633        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16634        MI->getOperand(1).isReg() &&
16635        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16636        MI->getOperand(3).getReg() == AArch64::XZR &&
16637        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16638      // (LD2Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
16639      AsmString = "ld2	$\xFF\x02\x27, [$\x01], #32";
16640      break;
16641    }
16642    return false;
16643  case AArch64::LD2Twov2s_POST:
16644    if (MI->getNumOperands() == 4 &&
16645        MI->getOperand(0).isReg() &&
16646        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16647        MI->getOperand(1).isReg() &&
16648        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16649        MI->getOperand(3).getReg() == AArch64::XZR &&
16650        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16651      // (LD2Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
16652      AsmString = "ld2	$\xFF\x02\x28, [$\x01], #16";
16653      break;
16654    }
16655    return false;
16656  case AArch64::LD2Twov4h_POST:
16657    if (MI->getNumOperands() == 4 &&
16658        MI->getOperand(0).isReg() &&
16659        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16660        MI->getOperand(1).isReg() &&
16661        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16662        MI->getOperand(3).getReg() == AArch64::XZR &&
16663        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16664      // (LD2Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
16665      AsmString = "ld2	$\xFF\x02\x29, [$\x01], #16";
16666      break;
16667    }
16668    return false;
16669  case AArch64::LD2Twov4s_POST:
16670    if (MI->getNumOperands() == 4 &&
16671        MI->getOperand(0).isReg() &&
16672        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16673        MI->getOperand(1).isReg() &&
16674        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16675        MI->getOperand(3).getReg() == AArch64::XZR &&
16676        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16677      // (LD2Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
16678      AsmString = "ld2	$\xFF\x02\x2A, [$\x01], #32";
16679      break;
16680    }
16681    return false;
16682  case AArch64::LD2Twov8b_POST:
16683    if (MI->getNumOperands() == 4 &&
16684        MI->getOperand(0).isReg() &&
16685        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16686        MI->getOperand(1).isReg() &&
16687        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
16688        MI->getOperand(3).getReg() == AArch64::XZR &&
16689        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16690      // (LD2Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
16691      AsmString = "ld2	$\xFF\x02\x2B, [$\x01], #16";
16692      break;
16693    }
16694    return false;
16695  case AArch64::LD2Twov8h_POST:
16696    if (MI->getNumOperands() == 4 &&
16697        MI->getOperand(0).isReg() &&
16698        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16699        MI->getOperand(1).isReg() &&
16700        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16701        MI->getOperand(3).getReg() == AArch64::XZR &&
16702        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16703      // (LD2Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
16704      AsmString = "ld2	$\xFF\x02\x2C, [$\x01], #32";
16705      break;
16706    }
16707    return false;
16708  case AArch64::LD2W_IMM:
16709    if (MI->getNumOperands() == 4 &&
16710        MI->getOperand(0).isReg() &&
16711        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
16712        MI->getOperand(1).isReg() &&
16713        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16714        MI->getOperand(2).isReg() &&
16715        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16716        MI->getOperand(3).isImm() &&
16717        MI->getOperand(3).getImm() == 0 &&
16718        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16719      // (LD2W_IMM ZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16720      AsmString = "ld2w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
16721      break;
16722    }
16723    return false;
16724  case AArch64::LD2i16_POST:
16725    if (MI->getNumOperands() == 6 &&
16726        MI->getOperand(0).isReg() &&
16727        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16728        MI->getOperand(1).isReg() &&
16729        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16730        MI->getOperand(5).getReg() == AArch64::XZR &&
16731        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16732      // (LD2i16_POST GPR64sp:$Rn, VecListTwoh:$Vt, VectorIndexH:$idx, XZR)
16733      AsmString = "ld2	$\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #4";
16734      break;
16735    }
16736    return false;
16737  case AArch64::LD2i32_POST:
16738    if (MI->getNumOperands() == 6 &&
16739        MI->getOperand(0).isReg() &&
16740        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16741        MI->getOperand(1).isReg() &&
16742        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16743        MI->getOperand(5).getReg() == AArch64::XZR &&
16744        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16745      // (LD2i32_POST GPR64sp:$Rn, VecListTwos:$Vt, VectorIndexS:$idx, XZR)
16746      AsmString = "ld2	$\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #8";
16747      break;
16748    }
16749    return false;
16750  case AArch64::LD2i64_POST:
16751    if (MI->getNumOperands() == 6 &&
16752        MI->getOperand(0).isReg() &&
16753        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16754        MI->getOperand(1).isReg() &&
16755        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16756        MI->getOperand(5).getReg() == AArch64::XZR &&
16757        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16758      // (LD2i64_POST GPR64sp:$Rn, VecListTwod:$Vt, VectorIndexD:$idx, XZR)
16759      AsmString = "ld2	$\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #16";
16760      break;
16761    }
16762    return false;
16763  case AArch64::LD2i8_POST:
16764    if (MI->getNumOperands() == 6 &&
16765        MI->getOperand(0).isReg() &&
16766        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16767        MI->getOperand(1).isReg() &&
16768        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
16769        MI->getOperand(5).getReg() == AArch64::XZR &&
16770        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16771      // (LD2i8_POST GPR64sp:$Rn, VecListTwob:$Vt, VectorIndexB:$idx, XZR)
16772      AsmString = "ld2	$\xFF\x02\x30$\xFF\x04\x19, [$\x01], #2";
16773      break;
16774    }
16775    return false;
16776  case AArch64::LD3B_IMM:
16777    if (MI->getNumOperands() == 4 &&
16778        MI->getOperand(0).isReg() &&
16779        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
16780        MI->getOperand(1).isReg() &&
16781        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16782        MI->getOperand(2).isReg() &&
16783        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16784        MI->getOperand(3).isImm() &&
16785        MI->getOperand(3).getImm() == 0 &&
16786        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16787      // (LD3B_IMM ZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16788      AsmString = "ld3b	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
16789      break;
16790    }
16791    return false;
16792  case AArch64::LD3D_IMM:
16793    if (MI->getNumOperands() == 4 &&
16794        MI->getOperand(0).isReg() &&
16795        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
16796        MI->getOperand(1).isReg() &&
16797        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16798        MI->getOperand(2).isReg() &&
16799        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16800        MI->getOperand(3).isImm() &&
16801        MI->getOperand(3).getImm() == 0 &&
16802        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16803      // (LD3D_IMM ZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16804      AsmString = "ld3d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
16805      break;
16806    }
16807    return false;
16808  case AArch64::LD3H_IMM:
16809    if (MI->getNumOperands() == 4 &&
16810        MI->getOperand(0).isReg() &&
16811        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
16812        MI->getOperand(1).isReg() &&
16813        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16814        MI->getOperand(2).isReg() &&
16815        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
16816        MI->getOperand(3).isImm() &&
16817        MI->getOperand(3).getImm() == 0 &&
16818        STI.getFeatureBits()[AArch64::FeatureSVE]) {
16819      // (LD3H_IMM ZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
16820      AsmString = "ld3h	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
16821      break;
16822    }
16823    return false;
16824  case AArch64::LD3Rv16b_POST:
16825    if (MI->getNumOperands() == 4 &&
16826        MI->getOperand(0).isReg() &&
16827        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16828        MI->getOperand(1).isReg() &&
16829        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16830        MI->getOperand(3).getReg() == AArch64::XZR &&
16831        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16832      // (LD3Rv16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
16833      AsmString = "ld3r	$\xFF\x02\x25, [$\x01], #3";
16834      break;
16835    }
16836    return false;
16837  case AArch64::LD3Rv1d_POST:
16838    if (MI->getNumOperands() == 4 &&
16839        MI->getOperand(0).isReg() &&
16840        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16841        MI->getOperand(1).isReg() &&
16842        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16843        MI->getOperand(3).getReg() == AArch64::XZR &&
16844        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16845      // (LD3Rv1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR)
16846      AsmString = "ld3r	$\xFF\x02\x26, [$\x01], #24";
16847      break;
16848    }
16849    return false;
16850  case AArch64::LD3Rv2d_POST:
16851    if (MI->getNumOperands() == 4 &&
16852        MI->getOperand(0).isReg() &&
16853        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16854        MI->getOperand(1).isReg() &&
16855        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16856        MI->getOperand(3).getReg() == AArch64::XZR &&
16857        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16858      // (LD3Rv2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
16859      AsmString = "ld3r	$\xFF\x02\x27, [$\x01], #24";
16860      break;
16861    }
16862    return false;
16863  case AArch64::LD3Rv2s_POST:
16864    if (MI->getNumOperands() == 4 &&
16865        MI->getOperand(0).isReg() &&
16866        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16867        MI->getOperand(1).isReg() &&
16868        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16869        MI->getOperand(3).getReg() == AArch64::XZR &&
16870        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16871      // (LD3Rv2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
16872      AsmString = "ld3r	$\xFF\x02\x28, [$\x01], #12";
16873      break;
16874    }
16875    return false;
16876  case AArch64::LD3Rv4h_POST:
16877    if (MI->getNumOperands() == 4 &&
16878        MI->getOperand(0).isReg() &&
16879        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16880        MI->getOperand(1).isReg() &&
16881        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16882        MI->getOperand(3).getReg() == AArch64::XZR &&
16883        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16884      // (LD3Rv4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
16885      AsmString = "ld3r	$\xFF\x02\x29, [$\x01], #6";
16886      break;
16887    }
16888    return false;
16889  case AArch64::LD3Rv4s_POST:
16890    if (MI->getNumOperands() == 4 &&
16891        MI->getOperand(0).isReg() &&
16892        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16893        MI->getOperand(1).isReg() &&
16894        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16895        MI->getOperand(3).getReg() == AArch64::XZR &&
16896        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16897      // (LD3Rv4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
16898      AsmString = "ld3r	$\xFF\x02\x2A, [$\x01], #12";
16899      break;
16900    }
16901    return false;
16902  case AArch64::LD3Rv8b_POST:
16903    if (MI->getNumOperands() == 4 &&
16904        MI->getOperand(0).isReg() &&
16905        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16906        MI->getOperand(1).isReg() &&
16907        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16908        MI->getOperand(3).getReg() == AArch64::XZR &&
16909        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16910      // (LD3Rv8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
16911      AsmString = "ld3r	$\xFF\x02\x2B, [$\x01], #3";
16912      break;
16913    }
16914    return false;
16915  case AArch64::LD3Rv8h_POST:
16916    if (MI->getNumOperands() == 4 &&
16917        MI->getOperand(0).isReg() &&
16918        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16919        MI->getOperand(1).isReg() &&
16920        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16921        MI->getOperand(3).getReg() == AArch64::XZR &&
16922        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16923      // (LD3Rv8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
16924      AsmString = "ld3r	$\xFF\x02\x2C, [$\x01], #6";
16925      break;
16926    }
16927    return false;
16928  case AArch64::LD3Threev16b_POST:
16929    if (MI->getNumOperands() == 4 &&
16930        MI->getOperand(0).isReg() &&
16931        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16932        MI->getOperand(1).isReg() &&
16933        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16934        MI->getOperand(3).getReg() == AArch64::XZR &&
16935        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16936      // (LD3Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
16937      AsmString = "ld3	$\xFF\x02\x25, [$\x01], #48";
16938      break;
16939    }
16940    return false;
16941  case AArch64::LD3Threev2d_POST:
16942    if (MI->getNumOperands() == 4 &&
16943        MI->getOperand(0).isReg() &&
16944        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16945        MI->getOperand(1).isReg() &&
16946        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16947        MI->getOperand(3).getReg() == AArch64::XZR &&
16948        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16949      // (LD3Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
16950      AsmString = "ld3	$\xFF\x02\x27, [$\x01], #48";
16951      break;
16952    }
16953    return false;
16954  case AArch64::LD3Threev2s_POST:
16955    if (MI->getNumOperands() == 4 &&
16956        MI->getOperand(0).isReg() &&
16957        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16958        MI->getOperand(1).isReg() &&
16959        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16960        MI->getOperand(3).getReg() == AArch64::XZR &&
16961        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16962      // (LD3Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
16963      AsmString = "ld3	$\xFF\x02\x28, [$\x01], #24";
16964      break;
16965    }
16966    return false;
16967  case AArch64::LD3Threev4h_POST:
16968    if (MI->getNumOperands() == 4 &&
16969        MI->getOperand(0).isReg() &&
16970        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16971        MI->getOperand(1).isReg() &&
16972        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16973        MI->getOperand(3).getReg() == AArch64::XZR &&
16974        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16975      // (LD3Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
16976      AsmString = "ld3	$\xFF\x02\x29, [$\x01], #24";
16977      break;
16978    }
16979    return false;
16980  case AArch64::LD3Threev4s_POST:
16981    if (MI->getNumOperands() == 4 &&
16982        MI->getOperand(0).isReg() &&
16983        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16984        MI->getOperand(1).isReg() &&
16985        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
16986        MI->getOperand(3).getReg() == AArch64::XZR &&
16987        STI.getFeatureBits()[AArch64::FeatureNEON]) {
16988      // (LD3Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
16989      AsmString = "ld3	$\xFF\x02\x2A, [$\x01], #48";
16990      break;
16991    }
16992    return false;
16993  case AArch64::LD3Threev8b_POST:
16994    if (MI->getNumOperands() == 4 &&
16995        MI->getOperand(0).isReg() &&
16996        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
16997        MI->getOperand(1).isReg() &&
16998        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
16999        MI->getOperand(3).getReg() == AArch64::XZR &&
17000        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17001      // (LD3Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
17002      AsmString = "ld3	$\xFF\x02\x2B, [$\x01], #24";
17003      break;
17004    }
17005    return false;
17006  case AArch64::LD3Threev8h_POST:
17007    if (MI->getNumOperands() == 4 &&
17008        MI->getOperand(0).isReg() &&
17009        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17010        MI->getOperand(1).isReg() &&
17011        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17012        MI->getOperand(3).getReg() == AArch64::XZR &&
17013        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17014      // (LD3Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
17015      AsmString = "ld3	$\xFF\x02\x2C, [$\x01], #48";
17016      break;
17017    }
17018    return false;
17019  case AArch64::LD3W_IMM:
17020    if (MI->getNumOperands() == 4 &&
17021        MI->getOperand(0).isReg() &&
17022        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
17023        MI->getOperand(1).isReg() &&
17024        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17025        MI->getOperand(2).isReg() &&
17026        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17027        MI->getOperand(3).isImm() &&
17028        MI->getOperand(3).getImm() == 0 &&
17029        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17030      // (LD3W_IMM ZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
17031      AsmString = "ld3w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
17032      break;
17033    }
17034    return false;
17035  case AArch64::LD3i16_POST:
17036    if (MI->getNumOperands() == 6 &&
17037        MI->getOperand(0).isReg() &&
17038        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17039        MI->getOperand(1).isReg() &&
17040        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17041        MI->getOperand(5).getReg() == AArch64::XZR &&
17042        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17043      // (LD3i16_POST GPR64sp:$Rn, VecListThreeh:$Vt, VectorIndexH:$idx, XZR)
17044      AsmString = "ld3	$\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #6";
17045      break;
17046    }
17047    return false;
17048  case AArch64::LD3i32_POST:
17049    if (MI->getNumOperands() == 6 &&
17050        MI->getOperand(0).isReg() &&
17051        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17052        MI->getOperand(1).isReg() &&
17053        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17054        MI->getOperand(5).getReg() == AArch64::XZR &&
17055        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17056      // (LD3i32_POST GPR64sp:$Rn, VecListThrees:$Vt, VectorIndexS:$idx, XZR)
17057      AsmString = "ld3	$\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #12";
17058      break;
17059    }
17060    return false;
17061  case AArch64::LD3i64_POST:
17062    if (MI->getNumOperands() == 6 &&
17063        MI->getOperand(0).isReg() &&
17064        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17065        MI->getOperand(1).isReg() &&
17066        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17067        MI->getOperand(5).getReg() == AArch64::XZR &&
17068        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17069      // (LD3i64_POST GPR64sp:$Rn, VecListThreed:$Vt, VectorIndexD:$idx, XZR)
17070      AsmString = "ld3	$\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #24";
17071      break;
17072    }
17073    return false;
17074  case AArch64::LD3i8_POST:
17075    if (MI->getNumOperands() == 6 &&
17076        MI->getOperand(0).isReg() &&
17077        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17078        MI->getOperand(1).isReg() &&
17079        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17080        MI->getOperand(5).getReg() == AArch64::XZR &&
17081        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17082      // (LD3i8_POST GPR64sp:$Rn, VecListThreeb:$Vt, VectorIndexB:$idx, XZR)
17083      AsmString = "ld3	$\xFF\x02\x30$\xFF\x04\x19, [$\x01], #3";
17084      break;
17085    }
17086    return false;
17087  case AArch64::LD4B_IMM:
17088    if (MI->getNumOperands() == 4 &&
17089        MI->getOperand(0).isReg() &&
17090        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
17091        MI->getOperand(1).isReg() &&
17092        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17093        MI->getOperand(2).isReg() &&
17094        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17095        MI->getOperand(3).isImm() &&
17096        MI->getOperand(3).getImm() == 0 &&
17097        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17098      // (LD4B_IMM ZZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
17099      AsmString = "ld4b	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
17100      break;
17101    }
17102    return false;
17103  case AArch64::LD4D_IMM:
17104    if (MI->getNumOperands() == 4 &&
17105        MI->getOperand(0).isReg() &&
17106        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
17107        MI->getOperand(1).isReg() &&
17108        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17109        MI->getOperand(2).isReg() &&
17110        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17111        MI->getOperand(3).isImm() &&
17112        MI->getOperand(3).getImm() == 0 &&
17113        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17114      // (LD4D_IMM ZZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
17115      AsmString = "ld4d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
17116      break;
17117    }
17118    return false;
17119  case AArch64::LD4Fourv16b_POST:
17120    if (MI->getNumOperands() == 4 &&
17121        MI->getOperand(0).isReg() &&
17122        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17123        MI->getOperand(1).isReg() &&
17124        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17125        MI->getOperand(3).getReg() == AArch64::XZR &&
17126        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17127      // (LD4Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
17128      AsmString = "ld4	$\xFF\x02\x25, [$\x01], #64";
17129      break;
17130    }
17131    return false;
17132  case AArch64::LD4Fourv2d_POST:
17133    if (MI->getNumOperands() == 4 &&
17134        MI->getOperand(0).isReg() &&
17135        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17136        MI->getOperand(1).isReg() &&
17137        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17138        MI->getOperand(3).getReg() == AArch64::XZR &&
17139        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17140      // (LD4Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
17141      AsmString = "ld4	$\xFF\x02\x27, [$\x01], #64";
17142      break;
17143    }
17144    return false;
17145  case AArch64::LD4Fourv2s_POST:
17146    if (MI->getNumOperands() == 4 &&
17147        MI->getOperand(0).isReg() &&
17148        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17149        MI->getOperand(1).isReg() &&
17150        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17151        MI->getOperand(3).getReg() == AArch64::XZR &&
17152        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17153      // (LD4Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
17154      AsmString = "ld4	$\xFF\x02\x28, [$\x01], #32";
17155      break;
17156    }
17157    return false;
17158  case AArch64::LD4Fourv4h_POST:
17159    if (MI->getNumOperands() == 4 &&
17160        MI->getOperand(0).isReg() &&
17161        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17162        MI->getOperand(1).isReg() &&
17163        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17164        MI->getOperand(3).getReg() == AArch64::XZR &&
17165        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17166      // (LD4Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
17167      AsmString = "ld4	$\xFF\x02\x29, [$\x01], #32";
17168      break;
17169    }
17170    return false;
17171  case AArch64::LD4Fourv4s_POST:
17172    if (MI->getNumOperands() == 4 &&
17173        MI->getOperand(0).isReg() &&
17174        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17175        MI->getOperand(1).isReg() &&
17176        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17177        MI->getOperand(3).getReg() == AArch64::XZR &&
17178        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17179      // (LD4Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
17180      AsmString = "ld4	$\xFF\x02\x2A, [$\x01], #64";
17181      break;
17182    }
17183    return false;
17184  case AArch64::LD4Fourv8b_POST:
17185    if (MI->getNumOperands() == 4 &&
17186        MI->getOperand(0).isReg() &&
17187        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17188        MI->getOperand(1).isReg() &&
17189        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17190        MI->getOperand(3).getReg() == AArch64::XZR &&
17191        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17192      // (LD4Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
17193      AsmString = "ld4	$\xFF\x02\x2B, [$\x01], #32";
17194      break;
17195    }
17196    return false;
17197  case AArch64::LD4Fourv8h_POST:
17198    if (MI->getNumOperands() == 4 &&
17199        MI->getOperand(0).isReg() &&
17200        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17201        MI->getOperand(1).isReg() &&
17202        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17203        MI->getOperand(3).getReg() == AArch64::XZR &&
17204        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17205      // (LD4Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
17206      AsmString = "ld4	$\xFF\x02\x2C, [$\x01], #64";
17207      break;
17208    }
17209    return false;
17210  case AArch64::LD4H_IMM:
17211    if (MI->getNumOperands() == 4 &&
17212        MI->getOperand(0).isReg() &&
17213        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
17214        MI->getOperand(1).isReg() &&
17215        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17216        MI->getOperand(2).isReg() &&
17217        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17218        MI->getOperand(3).isImm() &&
17219        MI->getOperand(3).getImm() == 0 &&
17220        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17221      // (LD4H_IMM ZZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
17222      AsmString = "ld4h	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
17223      break;
17224    }
17225    return false;
17226  case AArch64::LD4Rv16b_POST:
17227    if (MI->getNumOperands() == 4 &&
17228        MI->getOperand(0).isReg() &&
17229        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17230        MI->getOperand(1).isReg() &&
17231        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17232        MI->getOperand(3).getReg() == AArch64::XZR &&
17233        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17234      // (LD4Rv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
17235      AsmString = "ld4r	$\xFF\x02\x25, [$\x01], #4";
17236      break;
17237    }
17238    return false;
17239  case AArch64::LD4Rv1d_POST:
17240    if (MI->getNumOperands() == 4 &&
17241        MI->getOperand(0).isReg() &&
17242        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17243        MI->getOperand(1).isReg() &&
17244        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17245        MI->getOperand(3).getReg() == AArch64::XZR &&
17246        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17247      // (LD4Rv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR)
17248      AsmString = "ld4r	$\xFF\x02\x26, [$\x01], #32";
17249      break;
17250    }
17251    return false;
17252  case AArch64::LD4Rv2d_POST:
17253    if (MI->getNumOperands() == 4 &&
17254        MI->getOperand(0).isReg() &&
17255        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17256        MI->getOperand(1).isReg() &&
17257        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17258        MI->getOperand(3).getReg() == AArch64::XZR &&
17259        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17260      // (LD4Rv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
17261      AsmString = "ld4r	$\xFF\x02\x27, [$\x01], #32";
17262      break;
17263    }
17264    return false;
17265  case AArch64::LD4Rv2s_POST:
17266    if (MI->getNumOperands() == 4 &&
17267        MI->getOperand(0).isReg() &&
17268        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17269        MI->getOperand(1).isReg() &&
17270        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17271        MI->getOperand(3).getReg() == AArch64::XZR &&
17272        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17273      // (LD4Rv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
17274      AsmString = "ld4r	$\xFF\x02\x28, [$\x01], #16";
17275      break;
17276    }
17277    return false;
17278  case AArch64::LD4Rv4h_POST:
17279    if (MI->getNumOperands() == 4 &&
17280        MI->getOperand(0).isReg() &&
17281        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17282        MI->getOperand(1).isReg() &&
17283        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17284        MI->getOperand(3).getReg() == AArch64::XZR &&
17285        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17286      // (LD4Rv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
17287      AsmString = "ld4r	$\xFF\x02\x29, [$\x01], #8";
17288      break;
17289    }
17290    return false;
17291  case AArch64::LD4Rv4s_POST:
17292    if (MI->getNumOperands() == 4 &&
17293        MI->getOperand(0).isReg() &&
17294        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17295        MI->getOperand(1).isReg() &&
17296        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17297        MI->getOperand(3).getReg() == AArch64::XZR &&
17298        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17299      // (LD4Rv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
17300      AsmString = "ld4r	$\xFF\x02\x2A, [$\x01], #16";
17301      break;
17302    }
17303    return false;
17304  case AArch64::LD4Rv8b_POST:
17305    if (MI->getNumOperands() == 4 &&
17306        MI->getOperand(0).isReg() &&
17307        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17308        MI->getOperand(1).isReg() &&
17309        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17310        MI->getOperand(3).getReg() == AArch64::XZR &&
17311        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17312      // (LD4Rv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
17313      AsmString = "ld4r	$\xFF\x02\x2B, [$\x01], #4";
17314      break;
17315    }
17316    return false;
17317  case AArch64::LD4Rv8h_POST:
17318    if (MI->getNumOperands() == 4 &&
17319        MI->getOperand(0).isReg() &&
17320        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17321        MI->getOperand(1).isReg() &&
17322        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17323        MI->getOperand(3).getReg() == AArch64::XZR &&
17324        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17325      // (LD4Rv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
17326      AsmString = "ld4r	$\xFF\x02\x2C, [$\x01], #8";
17327      break;
17328    }
17329    return false;
17330  case AArch64::LD4W_IMM:
17331    if (MI->getNumOperands() == 4 &&
17332        MI->getOperand(0).isReg() &&
17333        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
17334        MI->getOperand(1).isReg() &&
17335        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17336        MI->getOperand(2).isReg() &&
17337        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17338        MI->getOperand(3).isImm() &&
17339        MI->getOperand(3).getImm() == 0 &&
17340        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17341      // (LD4W_IMM ZZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
17342      AsmString = "ld4w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
17343      break;
17344    }
17345    return false;
17346  case AArch64::LD4i16_POST:
17347    if (MI->getNumOperands() == 6 &&
17348        MI->getOperand(0).isReg() &&
17349        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17350        MI->getOperand(1).isReg() &&
17351        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17352        MI->getOperand(5).getReg() == AArch64::XZR &&
17353        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17354      // (LD4i16_POST GPR64sp:$Rn, VecListFourh:$Vt, VectorIndexH:$idx, XZR)
17355      AsmString = "ld4	$\xFF\x02\x2D$\xFF\x04\x19, [$\x01], #8";
17356      break;
17357    }
17358    return false;
17359  case AArch64::LD4i32_POST:
17360    if (MI->getNumOperands() == 6 &&
17361        MI->getOperand(0).isReg() &&
17362        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17363        MI->getOperand(1).isReg() &&
17364        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17365        MI->getOperand(5).getReg() == AArch64::XZR &&
17366        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17367      // (LD4i32_POST GPR64sp:$Rn, VecListFours:$Vt, VectorIndexS:$idx, XZR)
17368      AsmString = "ld4	$\xFF\x02\x2E$\xFF\x04\x19, [$\x01], #16";
17369      break;
17370    }
17371    return false;
17372  case AArch64::LD4i64_POST:
17373    if (MI->getNumOperands() == 6 &&
17374        MI->getOperand(0).isReg() &&
17375        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17376        MI->getOperand(1).isReg() &&
17377        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17378        MI->getOperand(5).getReg() == AArch64::XZR &&
17379        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17380      // (LD4i64_POST GPR64sp:$Rn, VecListFourd:$Vt, VectorIndexD:$idx, XZR)
17381      AsmString = "ld4	$\xFF\x02\x2F$\xFF\x04\x19, [$\x01], #32";
17382      break;
17383    }
17384    return false;
17385  case AArch64::LD4i8_POST:
17386    if (MI->getNumOperands() == 6 &&
17387        MI->getOperand(0).isReg() &&
17388        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17389        MI->getOperand(1).isReg() &&
17390        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17391        MI->getOperand(5).getReg() == AArch64::XZR &&
17392        STI.getFeatureBits()[AArch64::FeatureNEON]) {
17393      // (LD4i8_POST GPR64sp:$Rn, VecListFourb:$Vt, VectorIndexB:$idx, XZR)
17394      AsmString = "ld4	$\xFF\x02\x30$\xFF\x04\x19, [$\x01], #4";
17395      break;
17396    }
17397    return false;
17398  case AArch64::LDADDB:
17399    if (MI->getNumOperands() == 3 &&
17400        MI->getOperand(0).getReg() == AArch64::WZR &&
17401        MI->getOperand(1).isReg() &&
17402        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17403        MI->getOperand(2).isReg() &&
17404        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17405        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17406      // (LDADDB WZR, GPR32:$Rs, GPR64sp:$Rn)
17407      AsmString = "staddb	$\x02, [$\x03]";
17408      break;
17409    }
17410    return false;
17411  case AArch64::LDADDH:
17412    if (MI->getNumOperands() == 3 &&
17413        MI->getOperand(0).getReg() == AArch64::WZR &&
17414        MI->getOperand(1).isReg() &&
17415        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17416        MI->getOperand(2).isReg() &&
17417        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17418        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17419      // (LDADDH WZR, GPR32:$Rs, GPR64sp:$Rn)
17420      AsmString = "staddh	$\x02, [$\x03]";
17421      break;
17422    }
17423    return false;
17424  case AArch64::LDADDLB:
17425    if (MI->getNumOperands() == 3 &&
17426        MI->getOperand(0).getReg() == AArch64::WZR &&
17427        MI->getOperand(1).isReg() &&
17428        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17429        MI->getOperand(2).isReg() &&
17430        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17431        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17432      // (LDADDLB WZR, GPR32:$Rs, GPR64sp:$Rn)
17433      AsmString = "staddlb	$\x02, [$\x03]";
17434      break;
17435    }
17436    return false;
17437  case AArch64::LDADDLH:
17438    if (MI->getNumOperands() == 3 &&
17439        MI->getOperand(0).getReg() == AArch64::WZR &&
17440        MI->getOperand(1).isReg() &&
17441        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17442        MI->getOperand(2).isReg() &&
17443        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17444        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17445      // (LDADDLH WZR, GPR32:$Rs, GPR64sp:$Rn)
17446      AsmString = "staddlh	$\x02, [$\x03]";
17447      break;
17448    }
17449    return false;
17450  case AArch64::LDADDLW:
17451    if (MI->getNumOperands() == 3 &&
17452        MI->getOperand(0).getReg() == AArch64::WZR &&
17453        MI->getOperand(1).isReg() &&
17454        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17455        MI->getOperand(2).isReg() &&
17456        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17457        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17458      // (LDADDLW WZR, GPR32:$Rs, GPR64sp:$Rn)
17459      AsmString = "staddl	$\x02, [$\x03]";
17460      break;
17461    }
17462    return false;
17463  case AArch64::LDADDLX:
17464    if (MI->getNumOperands() == 3 &&
17465        MI->getOperand(0).getReg() == AArch64::XZR &&
17466        MI->getOperand(1).isReg() &&
17467        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17468        MI->getOperand(2).isReg() &&
17469        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17470        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17471      // (LDADDLX XZR, GPR64:$Rs, GPR64sp:$Rn)
17472      AsmString = "staddl	$\x02, [$\x03]";
17473      break;
17474    }
17475    return false;
17476  case AArch64::LDADDW:
17477    if (MI->getNumOperands() == 3 &&
17478        MI->getOperand(0).getReg() == AArch64::WZR &&
17479        MI->getOperand(1).isReg() &&
17480        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17481        MI->getOperand(2).isReg() &&
17482        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17483        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17484      // (LDADDW WZR, GPR32:$Rs, GPR64sp:$Rn)
17485      AsmString = "stadd	$\x02, [$\x03]";
17486      break;
17487    }
17488    return false;
17489  case AArch64::LDADDX:
17490    if (MI->getNumOperands() == 3 &&
17491        MI->getOperand(0).getReg() == AArch64::XZR &&
17492        MI->getOperand(1).isReg() &&
17493        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17494        MI->getOperand(2).isReg() &&
17495        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17496        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17497      // (LDADDX XZR, GPR64:$Rs, GPR64sp:$Rn)
17498      AsmString = "stadd	$\x02, [$\x03]";
17499      break;
17500    }
17501    return false;
17502  case AArch64::LDAPURBi:
17503    if (MI->getNumOperands() == 3 &&
17504        MI->getOperand(0).isReg() &&
17505        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17506        MI->getOperand(1).isReg() &&
17507        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17508        MI->getOperand(2).isImm() &&
17509        MI->getOperand(2).getImm() == 0 &&
17510        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17511      // (LDAPURBi GPR32:$Rt, GPR64sp:$Rn, 0)
17512      AsmString = "ldapurb	$\x01, [$\x02]";
17513      break;
17514    }
17515    return false;
17516  case AArch64::LDAPURHi:
17517    if (MI->getNumOperands() == 3 &&
17518        MI->getOperand(0).isReg() &&
17519        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17520        MI->getOperand(1).isReg() &&
17521        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17522        MI->getOperand(2).isImm() &&
17523        MI->getOperand(2).getImm() == 0 &&
17524        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17525      // (LDAPURHi GPR32:$Rt, GPR64sp:$Rn, 0)
17526      AsmString = "ldapurh	$\x01, [$\x02]";
17527      break;
17528    }
17529    return false;
17530  case AArch64::LDAPURSBWi:
17531    if (MI->getNumOperands() == 3 &&
17532        MI->getOperand(0).isReg() &&
17533        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17534        MI->getOperand(1).isReg() &&
17535        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17536        MI->getOperand(2).isImm() &&
17537        MI->getOperand(2).getImm() == 0 &&
17538        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17539      // (LDAPURSBWi GPR32:$Rt, GPR64sp:$Rn, 0)
17540      AsmString = "ldapursb	$\x01, [$\x02]";
17541      break;
17542    }
17543    return false;
17544  case AArch64::LDAPURSBXi:
17545    if (MI->getNumOperands() == 3 &&
17546        MI->getOperand(0).isReg() &&
17547        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17548        MI->getOperand(1).isReg() &&
17549        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17550        MI->getOperand(2).isImm() &&
17551        MI->getOperand(2).getImm() == 0 &&
17552        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17553      // (LDAPURSBXi GPR64:$Rt, GPR64sp:$Rn, 0)
17554      AsmString = "ldapursb	$\x01, [$\x02]";
17555      break;
17556    }
17557    return false;
17558  case AArch64::LDAPURSHWi:
17559    if (MI->getNumOperands() == 3 &&
17560        MI->getOperand(0).isReg() &&
17561        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17562        MI->getOperand(1).isReg() &&
17563        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17564        MI->getOperand(2).isImm() &&
17565        MI->getOperand(2).getImm() == 0 &&
17566        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17567      // (LDAPURSHWi GPR32:$Rt, GPR64sp:$Rn, 0)
17568      AsmString = "ldapursh	$\x01, [$\x02]";
17569      break;
17570    }
17571    return false;
17572  case AArch64::LDAPURSHXi:
17573    if (MI->getNumOperands() == 3 &&
17574        MI->getOperand(0).isReg() &&
17575        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17576        MI->getOperand(1).isReg() &&
17577        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17578        MI->getOperand(2).isImm() &&
17579        MI->getOperand(2).getImm() == 0 &&
17580        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17581      // (LDAPURSHXi GPR64:$Rt, GPR64sp:$Rn, 0)
17582      AsmString = "ldapursh	$\x01, [$\x02]";
17583      break;
17584    }
17585    return false;
17586  case AArch64::LDAPURSWi:
17587    if (MI->getNumOperands() == 3 &&
17588        MI->getOperand(0).isReg() &&
17589        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17590        MI->getOperand(1).isReg() &&
17591        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17592        MI->getOperand(2).isImm() &&
17593        MI->getOperand(2).getImm() == 0 &&
17594        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17595      // (LDAPURSWi GPR64:$Rt, GPR64sp:$Rn, 0)
17596      AsmString = "ldapursw	$\x01, [$\x02]";
17597      break;
17598    }
17599    return false;
17600  case AArch64::LDAPURXi:
17601    if (MI->getNumOperands() == 3 &&
17602        MI->getOperand(0).isReg() &&
17603        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17604        MI->getOperand(1).isReg() &&
17605        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17606        MI->getOperand(2).isImm() &&
17607        MI->getOperand(2).getImm() == 0 &&
17608        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17609      // (LDAPURXi GPR64:$Rt, GPR64sp:$Rn, 0)
17610      AsmString = "ldapur	$\x01, [$\x02]";
17611      break;
17612    }
17613    return false;
17614  case AArch64::LDAPURi:
17615    if (MI->getNumOperands() == 3 &&
17616        MI->getOperand(0).isReg() &&
17617        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17618        MI->getOperand(1).isReg() &&
17619        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17620        MI->getOperand(2).isImm() &&
17621        MI->getOperand(2).getImm() == 0 &&
17622        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
17623      // (LDAPURi GPR32:$Rt, GPR64sp:$Rn, 0)
17624      AsmString = "ldapur	$\x01, [$\x02]";
17625      break;
17626    }
17627    return false;
17628  case AArch64::LDCLRB:
17629    if (MI->getNumOperands() == 3 &&
17630        MI->getOperand(0).getReg() == AArch64::WZR &&
17631        MI->getOperand(1).isReg() &&
17632        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17633        MI->getOperand(2).isReg() &&
17634        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17635        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17636      // (LDCLRB WZR, GPR32:$Rs, GPR64sp:$Rn)
17637      AsmString = "stclrb	$\x02, [$\x03]";
17638      break;
17639    }
17640    return false;
17641  case AArch64::LDCLRH:
17642    if (MI->getNumOperands() == 3 &&
17643        MI->getOperand(0).getReg() == AArch64::WZR &&
17644        MI->getOperand(1).isReg() &&
17645        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17646        MI->getOperand(2).isReg() &&
17647        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17648        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17649      // (LDCLRH WZR, GPR32:$Rs, GPR64sp:$Rn)
17650      AsmString = "stclrh	$\x02, [$\x03]";
17651      break;
17652    }
17653    return false;
17654  case AArch64::LDCLRLB:
17655    if (MI->getNumOperands() == 3 &&
17656        MI->getOperand(0).getReg() == AArch64::WZR &&
17657        MI->getOperand(1).isReg() &&
17658        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17659        MI->getOperand(2).isReg() &&
17660        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17661        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17662      // (LDCLRLB WZR, GPR32:$Rs, GPR64sp:$Rn)
17663      AsmString = "stclrlb	$\x02, [$\x03]";
17664      break;
17665    }
17666    return false;
17667  case AArch64::LDCLRLH:
17668    if (MI->getNumOperands() == 3 &&
17669        MI->getOperand(0).getReg() == AArch64::WZR &&
17670        MI->getOperand(1).isReg() &&
17671        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17672        MI->getOperand(2).isReg() &&
17673        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17674        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17675      // (LDCLRLH WZR, GPR32:$Rs, GPR64sp:$Rn)
17676      AsmString = "stclrlh	$\x02, [$\x03]";
17677      break;
17678    }
17679    return false;
17680  case AArch64::LDCLRLW:
17681    if (MI->getNumOperands() == 3 &&
17682        MI->getOperand(0).getReg() == AArch64::WZR &&
17683        MI->getOperand(1).isReg() &&
17684        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17685        MI->getOperand(2).isReg() &&
17686        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17687        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17688      // (LDCLRLW WZR, GPR32:$Rs, GPR64sp:$Rn)
17689      AsmString = "stclrl	$\x02, [$\x03]";
17690      break;
17691    }
17692    return false;
17693  case AArch64::LDCLRLX:
17694    if (MI->getNumOperands() == 3 &&
17695        MI->getOperand(0).getReg() == AArch64::XZR &&
17696        MI->getOperand(1).isReg() &&
17697        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17698        MI->getOperand(2).isReg() &&
17699        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17700        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17701      // (LDCLRLX XZR, GPR64:$Rs, GPR64sp:$Rn)
17702      AsmString = "stclrl	$\x02, [$\x03]";
17703      break;
17704    }
17705    return false;
17706  case AArch64::LDCLRW:
17707    if (MI->getNumOperands() == 3 &&
17708        MI->getOperand(0).getReg() == AArch64::WZR &&
17709        MI->getOperand(1).isReg() &&
17710        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17711        MI->getOperand(2).isReg() &&
17712        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17713        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17714      // (LDCLRW WZR, GPR32:$Rs, GPR64sp:$Rn)
17715      AsmString = "stclr	$\x02, [$\x03]";
17716      break;
17717    }
17718    return false;
17719  case AArch64::LDCLRX:
17720    if (MI->getNumOperands() == 3 &&
17721        MI->getOperand(0).getReg() == AArch64::XZR &&
17722        MI->getOperand(1).isReg() &&
17723        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17724        MI->getOperand(2).isReg() &&
17725        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17726        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17727      // (LDCLRX XZR, GPR64:$Rs, GPR64sp:$Rn)
17728      AsmString = "stclr	$\x02, [$\x03]";
17729      break;
17730    }
17731    return false;
17732  case AArch64::LDEORB:
17733    if (MI->getNumOperands() == 3 &&
17734        MI->getOperand(0).getReg() == AArch64::WZR &&
17735        MI->getOperand(1).isReg() &&
17736        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17737        MI->getOperand(2).isReg() &&
17738        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17739        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17740      // (LDEORB WZR, GPR32:$Rs, GPR64sp:$Rn)
17741      AsmString = "steorb	$\x02, [$\x03]";
17742      break;
17743    }
17744    return false;
17745  case AArch64::LDEORH:
17746    if (MI->getNumOperands() == 3 &&
17747        MI->getOperand(0).getReg() == AArch64::WZR &&
17748        MI->getOperand(1).isReg() &&
17749        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17750        MI->getOperand(2).isReg() &&
17751        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17752        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17753      // (LDEORH WZR, GPR32:$Rs, GPR64sp:$Rn)
17754      AsmString = "steorh	$\x02, [$\x03]";
17755      break;
17756    }
17757    return false;
17758  case AArch64::LDEORLB:
17759    if (MI->getNumOperands() == 3 &&
17760        MI->getOperand(0).getReg() == AArch64::WZR &&
17761        MI->getOperand(1).isReg() &&
17762        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17763        MI->getOperand(2).isReg() &&
17764        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17765        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17766      // (LDEORLB WZR, GPR32:$Rs, GPR64sp:$Rn)
17767      AsmString = "steorlb	$\x02, [$\x03]";
17768      break;
17769    }
17770    return false;
17771  case AArch64::LDEORLH:
17772    if (MI->getNumOperands() == 3 &&
17773        MI->getOperand(0).getReg() == AArch64::WZR &&
17774        MI->getOperand(1).isReg() &&
17775        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17776        MI->getOperand(2).isReg() &&
17777        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17778        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17779      // (LDEORLH WZR, GPR32:$Rs, GPR64sp:$Rn)
17780      AsmString = "steorlh	$\x02, [$\x03]";
17781      break;
17782    }
17783    return false;
17784  case AArch64::LDEORLW:
17785    if (MI->getNumOperands() == 3 &&
17786        MI->getOperand(0).getReg() == AArch64::WZR &&
17787        MI->getOperand(1).isReg() &&
17788        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17789        MI->getOperand(2).isReg() &&
17790        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17791        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17792      // (LDEORLW WZR, GPR32:$Rs, GPR64sp:$Rn)
17793      AsmString = "steorl	$\x02, [$\x03]";
17794      break;
17795    }
17796    return false;
17797  case AArch64::LDEORLX:
17798    if (MI->getNumOperands() == 3 &&
17799        MI->getOperand(0).getReg() == AArch64::XZR &&
17800        MI->getOperand(1).isReg() &&
17801        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17802        MI->getOperand(2).isReg() &&
17803        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17804        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17805      // (LDEORLX XZR, GPR64:$Rs, GPR64sp:$Rn)
17806      AsmString = "steorl	$\x02, [$\x03]";
17807      break;
17808    }
17809    return false;
17810  case AArch64::LDEORW:
17811    if (MI->getNumOperands() == 3 &&
17812        MI->getOperand(0).getReg() == AArch64::WZR &&
17813        MI->getOperand(1).isReg() &&
17814        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17815        MI->getOperand(2).isReg() &&
17816        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17817        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17818      // (LDEORW WZR, GPR32:$Rs, GPR64sp:$Rn)
17819      AsmString = "steor	$\x02, [$\x03]";
17820      break;
17821    }
17822    return false;
17823  case AArch64::LDEORX:
17824    if (MI->getNumOperands() == 3 &&
17825        MI->getOperand(0).getReg() == AArch64::XZR &&
17826        MI->getOperand(1).isReg() &&
17827        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17828        MI->getOperand(2).isReg() &&
17829        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17830        STI.getFeatureBits()[AArch64::FeatureLSE]) {
17831      // (LDEORX XZR, GPR64:$Rs, GPR64sp:$Rn)
17832      AsmString = "steor	$\x02, [$\x03]";
17833      break;
17834    }
17835    return false;
17836  case AArch64::LDFF1B_D_REAL:
17837    if (MI->getNumOperands() == 4 &&
17838        MI->getOperand(0).isReg() &&
17839        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17840        MI->getOperand(1).isReg() &&
17841        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17842        MI->getOperand(2).isReg() &&
17843        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17844        MI->getOperand(3).getReg() == AArch64::XZR &&
17845        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17846      // (LDFF1B_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17847      AsmString = "ldff1b	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
17848      break;
17849    }
17850    return false;
17851  case AArch64::LDFF1B_H_REAL:
17852    if (MI->getNumOperands() == 4 &&
17853        MI->getOperand(0).isReg() &&
17854        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17855        MI->getOperand(1).isReg() &&
17856        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17857        MI->getOperand(2).isReg() &&
17858        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17859        MI->getOperand(3).getReg() == AArch64::XZR &&
17860        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17861      // (LDFF1B_H_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17862      AsmString = "ldff1b	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
17863      break;
17864    }
17865    return false;
17866  case AArch64::LDFF1B_REAL:
17867    if (MI->getNumOperands() == 4 &&
17868        MI->getOperand(0).isReg() &&
17869        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17870        MI->getOperand(1).isReg() &&
17871        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17872        MI->getOperand(2).isReg() &&
17873        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17874        MI->getOperand(3).getReg() == AArch64::XZR &&
17875        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17876      // (LDFF1B_REAL Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17877      AsmString = "ldff1b	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
17878      break;
17879    }
17880    return false;
17881  case AArch64::LDFF1B_S_REAL:
17882    if (MI->getNumOperands() == 4 &&
17883        MI->getOperand(0).isReg() &&
17884        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17885        MI->getOperand(1).isReg() &&
17886        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17887        MI->getOperand(2).isReg() &&
17888        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17889        MI->getOperand(3).getReg() == AArch64::XZR &&
17890        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17891      // (LDFF1B_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17892      AsmString = "ldff1b	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
17893      break;
17894    }
17895    return false;
17896  case AArch64::LDFF1D_REAL:
17897    if (MI->getNumOperands() == 4 &&
17898        MI->getOperand(0).isReg() &&
17899        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17900        MI->getOperand(1).isReg() &&
17901        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17902        MI->getOperand(2).isReg() &&
17903        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17904        MI->getOperand(3).getReg() == AArch64::XZR &&
17905        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17906      // (LDFF1D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17907      AsmString = "ldff1d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
17908      break;
17909    }
17910    return false;
17911  case AArch64::LDFF1H_D_REAL:
17912    if (MI->getNumOperands() == 4 &&
17913        MI->getOperand(0).isReg() &&
17914        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17915        MI->getOperand(1).isReg() &&
17916        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17917        MI->getOperand(2).isReg() &&
17918        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17919        MI->getOperand(3).getReg() == AArch64::XZR &&
17920        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17921      // (LDFF1H_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17922      AsmString = "ldff1h	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
17923      break;
17924    }
17925    return false;
17926  case AArch64::LDFF1H_REAL:
17927    if (MI->getNumOperands() == 4 &&
17928        MI->getOperand(0).isReg() &&
17929        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17930        MI->getOperand(1).isReg() &&
17931        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17932        MI->getOperand(2).isReg() &&
17933        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17934        MI->getOperand(3).getReg() == AArch64::XZR &&
17935        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17936      // (LDFF1H_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17937      AsmString = "ldff1h	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
17938      break;
17939    }
17940    return false;
17941  case AArch64::LDFF1H_S_REAL:
17942    if (MI->getNumOperands() == 4 &&
17943        MI->getOperand(0).isReg() &&
17944        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17945        MI->getOperand(1).isReg() &&
17946        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17947        MI->getOperand(2).isReg() &&
17948        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17949        MI->getOperand(3).getReg() == AArch64::XZR &&
17950        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17951      // (LDFF1H_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17952      AsmString = "ldff1h	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
17953      break;
17954    }
17955    return false;
17956  case AArch64::LDFF1SB_D_REAL:
17957    if (MI->getNumOperands() == 4 &&
17958        MI->getOperand(0).isReg() &&
17959        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17960        MI->getOperand(1).isReg() &&
17961        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17962        MI->getOperand(2).isReg() &&
17963        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17964        MI->getOperand(3).getReg() == AArch64::XZR &&
17965        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17966      // (LDFF1SB_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17967      AsmString = "ldff1sb	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
17968      break;
17969    }
17970    return false;
17971  case AArch64::LDFF1SB_H_REAL:
17972    if (MI->getNumOperands() == 4 &&
17973        MI->getOperand(0).isReg() &&
17974        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17975        MI->getOperand(1).isReg() &&
17976        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17977        MI->getOperand(2).isReg() &&
17978        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17979        MI->getOperand(3).getReg() == AArch64::XZR &&
17980        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17981      // (LDFF1SB_H_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17982      AsmString = "ldff1sb	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
17983      break;
17984    }
17985    return false;
17986  case AArch64::LDFF1SB_S_REAL:
17987    if (MI->getNumOperands() == 4 &&
17988        MI->getOperand(0).isReg() &&
17989        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17990        MI->getOperand(1).isReg() &&
17991        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17992        MI->getOperand(2).isReg() &&
17993        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17994        MI->getOperand(3).getReg() == AArch64::XZR &&
17995        STI.getFeatureBits()[AArch64::FeatureSVE]) {
17996      // (LDFF1SB_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
17997      AsmString = "ldff1sb	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
17998      break;
17999    }
18000    return false;
18001  case AArch64::LDFF1SH_D_REAL:
18002    if (MI->getNumOperands() == 4 &&
18003        MI->getOperand(0).isReg() &&
18004        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18005        MI->getOperand(1).isReg() &&
18006        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18007        MI->getOperand(2).isReg() &&
18008        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18009        MI->getOperand(3).getReg() == AArch64::XZR &&
18010        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18011      // (LDFF1SH_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
18012      AsmString = "ldff1sh	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18013      break;
18014    }
18015    return false;
18016  case AArch64::LDFF1SH_S_REAL:
18017    if (MI->getNumOperands() == 4 &&
18018        MI->getOperand(0).isReg() &&
18019        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18020        MI->getOperand(1).isReg() &&
18021        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18022        MI->getOperand(2).isReg() &&
18023        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18024        MI->getOperand(3).getReg() == AArch64::XZR &&
18025        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18026      // (LDFF1SH_S_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
18027      AsmString = "ldff1sh	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18028      break;
18029    }
18030    return false;
18031  case AArch64::LDFF1SW_D_REAL:
18032    if (MI->getNumOperands() == 4 &&
18033        MI->getOperand(0).isReg() &&
18034        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18035        MI->getOperand(1).isReg() &&
18036        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18037        MI->getOperand(2).isReg() &&
18038        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18039        MI->getOperand(3).getReg() == AArch64::XZR &&
18040        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18041      // (LDFF1SW_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
18042      AsmString = "ldff1sw	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18043      break;
18044    }
18045    return false;
18046  case AArch64::LDFF1W_D_REAL:
18047    if (MI->getNumOperands() == 4 &&
18048        MI->getOperand(0).isReg() &&
18049        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18050        MI->getOperand(1).isReg() &&
18051        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18052        MI->getOperand(2).isReg() &&
18053        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18054        MI->getOperand(3).getReg() == AArch64::XZR &&
18055        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18056      // (LDFF1W_D_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
18057      AsmString = "ldff1w	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18058      break;
18059    }
18060    return false;
18061  case AArch64::LDFF1W_REAL:
18062    if (MI->getNumOperands() == 4 &&
18063        MI->getOperand(0).isReg() &&
18064        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18065        MI->getOperand(1).isReg() &&
18066        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18067        MI->getOperand(2).isReg() &&
18068        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18069        MI->getOperand(3).getReg() == AArch64::XZR &&
18070        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18071      // (LDFF1W_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, XZR)
18072      AsmString = "ldff1w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18073      break;
18074    }
18075    return false;
18076  case AArch64::LDNF1B_D_IMM_REAL:
18077    if (MI->getNumOperands() == 4 &&
18078        MI->getOperand(0).isReg() &&
18079        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18080        MI->getOperand(1).isReg() &&
18081        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18082        MI->getOperand(2).isReg() &&
18083        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18084        MI->getOperand(3).isImm() &&
18085        MI->getOperand(3).getImm() == 0 &&
18086        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18087      // (LDNF1B_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18088      AsmString = "ldnf1b	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18089      break;
18090    }
18091    return false;
18092  case AArch64::LDNF1B_H_IMM_REAL:
18093    if (MI->getNumOperands() == 4 &&
18094        MI->getOperand(0).isReg() &&
18095        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18096        MI->getOperand(1).isReg() &&
18097        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18098        MI->getOperand(2).isReg() &&
18099        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18100        MI->getOperand(3).isImm() &&
18101        MI->getOperand(3).getImm() == 0 &&
18102        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18103      // (LDNF1B_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18104      AsmString = "ldnf1b	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
18105      break;
18106    }
18107    return false;
18108  case AArch64::LDNF1B_IMM_REAL:
18109    if (MI->getNumOperands() == 4 &&
18110        MI->getOperand(0).isReg() &&
18111        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18112        MI->getOperand(1).isReg() &&
18113        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18114        MI->getOperand(2).isReg() &&
18115        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18116        MI->getOperand(3).isImm() &&
18117        MI->getOperand(3).getImm() == 0 &&
18118        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18119      // (LDNF1B_IMM_REAL Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18120      AsmString = "ldnf1b	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
18121      break;
18122    }
18123    return false;
18124  case AArch64::LDNF1B_S_IMM_REAL:
18125    if (MI->getNumOperands() == 4 &&
18126        MI->getOperand(0).isReg() &&
18127        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18128        MI->getOperand(1).isReg() &&
18129        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18130        MI->getOperand(2).isReg() &&
18131        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18132        MI->getOperand(3).isImm() &&
18133        MI->getOperand(3).getImm() == 0 &&
18134        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18135      // (LDNF1B_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18136      AsmString = "ldnf1b	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18137      break;
18138    }
18139    return false;
18140  case AArch64::LDNF1D_IMM_REAL:
18141    if (MI->getNumOperands() == 4 &&
18142        MI->getOperand(0).isReg() &&
18143        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18144        MI->getOperand(1).isReg() &&
18145        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18146        MI->getOperand(2).isReg() &&
18147        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18148        MI->getOperand(3).isImm() &&
18149        MI->getOperand(3).getImm() == 0 &&
18150        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18151      // (LDNF1D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18152      AsmString = "ldnf1d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18153      break;
18154    }
18155    return false;
18156  case AArch64::LDNF1H_D_IMM_REAL:
18157    if (MI->getNumOperands() == 4 &&
18158        MI->getOperand(0).isReg() &&
18159        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18160        MI->getOperand(1).isReg() &&
18161        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18162        MI->getOperand(2).isReg() &&
18163        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18164        MI->getOperand(3).isImm() &&
18165        MI->getOperand(3).getImm() == 0 &&
18166        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18167      // (LDNF1H_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18168      AsmString = "ldnf1h	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18169      break;
18170    }
18171    return false;
18172  case AArch64::LDNF1H_IMM_REAL:
18173    if (MI->getNumOperands() == 4 &&
18174        MI->getOperand(0).isReg() &&
18175        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18176        MI->getOperand(1).isReg() &&
18177        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18178        MI->getOperand(2).isReg() &&
18179        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18180        MI->getOperand(3).isImm() &&
18181        MI->getOperand(3).getImm() == 0 &&
18182        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18183      // (LDNF1H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18184      AsmString = "ldnf1h	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
18185      break;
18186    }
18187    return false;
18188  case AArch64::LDNF1H_S_IMM_REAL:
18189    if (MI->getNumOperands() == 4 &&
18190        MI->getOperand(0).isReg() &&
18191        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18192        MI->getOperand(1).isReg() &&
18193        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18194        MI->getOperand(2).isReg() &&
18195        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18196        MI->getOperand(3).isImm() &&
18197        MI->getOperand(3).getImm() == 0 &&
18198        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18199      // (LDNF1H_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18200      AsmString = "ldnf1h	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18201      break;
18202    }
18203    return false;
18204  case AArch64::LDNF1SB_D_IMM_REAL:
18205    if (MI->getNumOperands() == 4 &&
18206        MI->getOperand(0).isReg() &&
18207        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18208        MI->getOperand(1).isReg() &&
18209        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18210        MI->getOperand(2).isReg() &&
18211        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18212        MI->getOperand(3).isImm() &&
18213        MI->getOperand(3).getImm() == 0 &&
18214        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18215      // (LDNF1SB_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18216      AsmString = "ldnf1sb	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18217      break;
18218    }
18219    return false;
18220  case AArch64::LDNF1SB_H_IMM_REAL:
18221    if (MI->getNumOperands() == 4 &&
18222        MI->getOperand(0).isReg() &&
18223        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18224        MI->getOperand(1).isReg() &&
18225        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18226        MI->getOperand(2).isReg() &&
18227        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18228        MI->getOperand(3).isImm() &&
18229        MI->getOperand(3).getImm() == 0 &&
18230        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18231      // (LDNF1SB_H_IMM_REAL Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18232      AsmString = "ldnf1sb	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
18233      break;
18234    }
18235    return false;
18236  case AArch64::LDNF1SB_S_IMM_REAL:
18237    if (MI->getNumOperands() == 4 &&
18238        MI->getOperand(0).isReg() &&
18239        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18240        MI->getOperand(1).isReg() &&
18241        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18242        MI->getOperand(2).isReg() &&
18243        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18244        MI->getOperand(3).isImm() &&
18245        MI->getOperand(3).getImm() == 0 &&
18246        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18247      // (LDNF1SB_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18248      AsmString = "ldnf1sb	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18249      break;
18250    }
18251    return false;
18252  case AArch64::LDNF1SH_D_IMM_REAL:
18253    if (MI->getNumOperands() == 4 &&
18254        MI->getOperand(0).isReg() &&
18255        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18256        MI->getOperand(1).isReg() &&
18257        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18258        MI->getOperand(2).isReg() &&
18259        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18260        MI->getOperand(3).isImm() &&
18261        MI->getOperand(3).getImm() == 0 &&
18262        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18263      // (LDNF1SH_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18264      AsmString = "ldnf1sh	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18265      break;
18266    }
18267    return false;
18268  case AArch64::LDNF1SH_S_IMM_REAL:
18269    if (MI->getNumOperands() == 4 &&
18270        MI->getOperand(0).isReg() &&
18271        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18272        MI->getOperand(1).isReg() &&
18273        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18274        MI->getOperand(2).isReg() &&
18275        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18276        MI->getOperand(3).isImm() &&
18277        MI->getOperand(3).getImm() == 0 &&
18278        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18279      // (LDNF1SH_S_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18280      AsmString = "ldnf1sh	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18281      break;
18282    }
18283    return false;
18284  case AArch64::LDNF1SW_D_IMM_REAL:
18285    if (MI->getNumOperands() == 4 &&
18286        MI->getOperand(0).isReg() &&
18287        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18288        MI->getOperand(1).isReg() &&
18289        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18290        MI->getOperand(2).isReg() &&
18291        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18292        MI->getOperand(3).isImm() &&
18293        MI->getOperand(3).getImm() == 0 &&
18294        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18295      // (LDNF1SW_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18296      AsmString = "ldnf1sw	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18297      break;
18298    }
18299    return false;
18300  case AArch64::LDNF1W_D_IMM_REAL:
18301    if (MI->getNumOperands() == 4 &&
18302        MI->getOperand(0).isReg() &&
18303        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18304        MI->getOperand(1).isReg() &&
18305        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18306        MI->getOperand(2).isReg() &&
18307        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18308        MI->getOperand(3).isImm() &&
18309        MI->getOperand(3).getImm() == 0 &&
18310        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18311      // (LDNF1W_D_IMM_REAL Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18312      AsmString = "ldnf1w	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18313      break;
18314    }
18315    return false;
18316  case AArch64::LDNF1W_IMM_REAL:
18317    if (MI->getNumOperands() == 4 &&
18318        MI->getOperand(0).isReg() &&
18319        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18320        MI->getOperand(1).isReg() &&
18321        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18322        MI->getOperand(2).isReg() &&
18323        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18324        MI->getOperand(3).isImm() &&
18325        MI->getOperand(3).getImm() == 0 &&
18326        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18327      // (LDNF1W_IMM_REAL Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18328      AsmString = "ldnf1w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18329      break;
18330    }
18331    return false;
18332  case AArch64::LDNPDi:
18333    if (MI->getNumOperands() == 4 &&
18334        MI->getOperand(0).isReg() &&
18335        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18336        MI->getOperand(1).isReg() &&
18337        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18338        MI->getOperand(2).isReg() &&
18339        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18340        MI->getOperand(3).isImm() &&
18341        MI->getOperand(3).getImm() == 0) {
18342      // (LDNPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0)
18343      AsmString = "ldnp	$\x01, $\x02, [$\x03]";
18344      break;
18345    }
18346    return false;
18347  case AArch64::LDNPQi:
18348    if (MI->getNumOperands() == 4 &&
18349        MI->getOperand(0).isReg() &&
18350        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
18351        MI->getOperand(1).isReg() &&
18352        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18353        MI->getOperand(2).isReg() &&
18354        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18355        MI->getOperand(3).isImm() &&
18356        MI->getOperand(3).getImm() == 0) {
18357      // (LDNPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0)
18358      AsmString = "ldnp	$\x01, $\x02, [$\x03]";
18359      break;
18360    }
18361    return false;
18362  case AArch64::LDNPSi:
18363    if (MI->getNumOperands() == 4 &&
18364        MI->getOperand(0).isReg() &&
18365        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18366        MI->getOperand(1).isReg() &&
18367        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
18368        MI->getOperand(2).isReg() &&
18369        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18370        MI->getOperand(3).isImm() &&
18371        MI->getOperand(3).getImm() == 0) {
18372      // (LDNPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0)
18373      AsmString = "ldnp	$\x01, $\x02, [$\x03]";
18374      break;
18375    }
18376    return false;
18377  case AArch64::LDNPWi:
18378    if (MI->getNumOperands() == 4 &&
18379        MI->getOperand(0).isReg() &&
18380        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18381        MI->getOperand(1).isReg() &&
18382        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
18383        MI->getOperand(2).isReg() &&
18384        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18385        MI->getOperand(3).isImm() &&
18386        MI->getOperand(3).getImm() == 0) {
18387      // (LDNPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0)
18388      AsmString = "ldnp	$\x01, $\x02, [$\x03]";
18389      break;
18390    }
18391    return false;
18392  case AArch64::LDNPXi:
18393    if (MI->getNumOperands() == 4 &&
18394        MI->getOperand(0).isReg() &&
18395        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18396        MI->getOperand(1).isReg() &&
18397        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18398        MI->getOperand(2).isReg() &&
18399        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18400        MI->getOperand(3).isImm() &&
18401        MI->getOperand(3).getImm() == 0) {
18402      // (LDNPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0)
18403      AsmString = "ldnp	$\x01, $\x02, [$\x03]";
18404      break;
18405    }
18406    return false;
18407  case AArch64::LDNT1B_ZRI:
18408    if (MI->getNumOperands() == 4 &&
18409        MI->getOperand(0).isReg() &&
18410        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18411        MI->getOperand(1).isReg() &&
18412        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18413        MI->getOperand(2).isReg() &&
18414        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18415        MI->getOperand(3).isImm() &&
18416        MI->getOperand(3).getImm() == 0 &&
18417        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18418      // (LDNT1B_ZRI Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18419      AsmString = "ldnt1b	$\xFF\x01\x24, $\xFF\x02\x07/z, [$\x03]";
18420      break;
18421    }
18422    return false;
18423  case AArch64::LDNT1D_ZRI:
18424    if (MI->getNumOperands() == 4 &&
18425        MI->getOperand(0).isReg() &&
18426        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18427        MI->getOperand(1).isReg() &&
18428        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18429        MI->getOperand(2).isReg() &&
18430        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18431        MI->getOperand(3).isImm() &&
18432        MI->getOperand(3).getImm() == 0 &&
18433        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18434      // (LDNT1D_ZRI Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18435      AsmString = "ldnt1d	$\xFF\x01\x20, $\xFF\x02\x07/z, [$\x03]";
18436      break;
18437    }
18438    return false;
18439  case AArch64::LDNT1H_ZRI:
18440    if (MI->getNumOperands() == 4 &&
18441        MI->getOperand(0).isReg() &&
18442        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18443        MI->getOperand(1).isReg() &&
18444        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18445        MI->getOperand(2).isReg() &&
18446        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18447        MI->getOperand(3).isImm() &&
18448        MI->getOperand(3).getImm() == 0 &&
18449        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18450      // (LDNT1H_ZRI Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18451      AsmString = "ldnt1h	$\xFF\x01\x23, $\xFF\x02\x07/z, [$\x03]";
18452      break;
18453    }
18454    return false;
18455  case AArch64::LDNT1W_ZRI:
18456    if (MI->getNumOperands() == 4 &&
18457        MI->getOperand(0).isReg() &&
18458        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18459        MI->getOperand(1).isReg() &&
18460        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18461        MI->getOperand(2).isReg() &&
18462        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18463        MI->getOperand(3).isImm() &&
18464        MI->getOperand(3).getImm() == 0 &&
18465        STI.getFeatureBits()[AArch64::FeatureSVE]) {
18466      // (LDNT1W_ZRI Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
18467      AsmString = "ldnt1w	$\xFF\x01\x21, $\xFF\x02\x07/z, [$\x03]";
18468      break;
18469    }
18470    return false;
18471  case AArch64::LDPDi:
18472    if (MI->getNumOperands() == 4 &&
18473        MI->getOperand(0).isReg() &&
18474        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18475        MI->getOperand(1).isReg() &&
18476        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18477        MI->getOperand(2).isReg() &&
18478        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18479        MI->getOperand(3).isImm() &&
18480        MI->getOperand(3).getImm() == 0) {
18481      // (LDPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0)
18482      AsmString = "ldp	$\x01, $\x02, [$\x03]";
18483      break;
18484    }
18485    return false;
18486  case AArch64::LDPQi:
18487    if (MI->getNumOperands() == 4 &&
18488        MI->getOperand(0).isReg() &&
18489        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
18490        MI->getOperand(1).isReg() &&
18491        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18492        MI->getOperand(2).isReg() &&
18493        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18494        MI->getOperand(3).isImm() &&
18495        MI->getOperand(3).getImm() == 0) {
18496      // (LDPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0)
18497      AsmString = "ldp	$\x01, $\x02, [$\x03]";
18498      break;
18499    }
18500    return false;
18501  case AArch64::LDPSWi:
18502    if (MI->getNumOperands() == 4 &&
18503        MI->getOperand(0).isReg() &&
18504        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18505        MI->getOperand(1).isReg() &&
18506        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18507        MI->getOperand(2).isReg() &&
18508        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18509        MI->getOperand(3).isImm() &&
18510        MI->getOperand(3).getImm() == 0) {
18511      // (LDPSWi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0)
18512      AsmString = "ldpsw	$\x01, $\x02, [$\x03]";
18513      break;
18514    }
18515    return false;
18516  case AArch64::LDPSi:
18517    if (MI->getNumOperands() == 4 &&
18518        MI->getOperand(0).isReg() &&
18519        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18520        MI->getOperand(1).isReg() &&
18521        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
18522        MI->getOperand(2).isReg() &&
18523        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18524        MI->getOperand(3).isImm() &&
18525        MI->getOperand(3).getImm() == 0) {
18526      // (LDPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0)
18527      AsmString = "ldp	$\x01, $\x02, [$\x03]";
18528      break;
18529    }
18530    return false;
18531  case AArch64::LDPWi:
18532    if (MI->getNumOperands() == 4 &&
18533        MI->getOperand(0).isReg() &&
18534        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18535        MI->getOperand(1).isReg() &&
18536        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
18537        MI->getOperand(2).isReg() &&
18538        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18539        MI->getOperand(3).isImm() &&
18540        MI->getOperand(3).getImm() == 0) {
18541      // (LDPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0)
18542      AsmString = "ldp	$\x01, $\x02, [$\x03]";
18543      break;
18544    }
18545    return false;
18546  case AArch64::LDPXi:
18547    if (MI->getNumOperands() == 4 &&
18548        MI->getOperand(0).isReg() &&
18549        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18550        MI->getOperand(1).isReg() &&
18551        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18552        MI->getOperand(2).isReg() &&
18553        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18554        MI->getOperand(3).isImm() &&
18555        MI->getOperand(3).getImm() == 0) {
18556      // (LDPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0)
18557      AsmString = "ldp	$\x01, $\x02, [$\x03]";
18558      break;
18559    }
18560    return false;
18561  case AArch64::LDRAAindexed:
18562    if (MI->getNumOperands() == 3 &&
18563        MI->getOperand(0).isReg() &&
18564        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18565        MI->getOperand(1).isReg() &&
18566        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18567        MI->getOperand(2).isImm() &&
18568        MI->getOperand(2).getImm() == 0 &&
18569        STI.getFeatureBits()[AArch64::HasV8_3aOps]) {
18570      // (LDRAAindexed GPR64:$Rt, GPR64sp:$Rn, 0)
18571      AsmString = "ldraa	$\x01, [$\x02]";
18572      break;
18573    }
18574    return false;
18575  case AArch64::LDRABindexed:
18576    if (MI->getNumOperands() == 3 &&
18577        MI->getOperand(0).isReg() &&
18578        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18579        MI->getOperand(1).isReg() &&
18580        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18581        MI->getOperand(2).isImm() &&
18582        MI->getOperand(2).getImm() == 0 &&
18583        STI.getFeatureBits()[AArch64::HasV8_3aOps]) {
18584      // (LDRABindexed GPR64:$Rt, GPR64sp:$Rn, 0)
18585      AsmString = "ldrab	$\x01, [$\x02]";
18586      break;
18587    }
18588    return false;
18589  case AArch64::LDRBBroX:
18590    if (MI->getNumOperands() == 5 &&
18591        MI->getOperand(0).isReg() &&
18592        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18593        MI->getOperand(1).isReg() &&
18594        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18595        MI->getOperand(2).isReg() &&
18596        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18597        MI->getOperand(3).isImm() &&
18598        MI->getOperand(3).getImm() == 0 &&
18599        MI->getOperand(4).isImm() &&
18600        MI->getOperand(4).getImm() == 0) {
18601      // (LDRBBroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18602      AsmString = "ldrb	$\x01, [$\x02, $\x03]";
18603      break;
18604    }
18605    return false;
18606  case AArch64::LDRBBui:
18607    if (MI->getNumOperands() == 3 &&
18608        MI->getOperand(0).isReg() &&
18609        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18610        MI->getOperand(1).isReg() &&
18611        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18612        MI->getOperand(2).isImm() &&
18613        MI->getOperand(2).getImm() == 0) {
18614      // (LDRBBui GPR32:$Rt, GPR64sp:$Rn, 0)
18615      AsmString = "ldrb	$\x01, [$\x02]";
18616      break;
18617    }
18618    return false;
18619  case AArch64::LDRBroX:
18620    if (MI->getNumOperands() == 5 &&
18621        MI->getOperand(0).isReg() &&
18622        MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
18623        MI->getOperand(1).isReg() &&
18624        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18625        MI->getOperand(2).isReg() &&
18626        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18627        MI->getOperand(3).isImm() &&
18628        MI->getOperand(3).getImm() == 0 &&
18629        MI->getOperand(4).isImm() &&
18630        MI->getOperand(4).getImm() == 0) {
18631      // (LDRBroX FPR8Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18632      AsmString = "ldr	$\x01, [$\x02, $\x03]";
18633      break;
18634    }
18635    return false;
18636  case AArch64::LDRBui:
18637    if (MI->getNumOperands() == 3 &&
18638        MI->getOperand(0).isReg() &&
18639        MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
18640        MI->getOperand(1).isReg() &&
18641        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18642        MI->getOperand(2).isImm() &&
18643        MI->getOperand(2).getImm() == 0) {
18644      // (LDRBui FPR8Op:$Rt, GPR64sp:$Rn, 0)
18645      AsmString = "ldr	$\x01, [$\x02]";
18646      break;
18647    }
18648    return false;
18649  case AArch64::LDRDroX:
18650    if (MI->getNumOperands() == 5 &&
18651        MI->getOperand(0).isReg() &&
18652        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18653        MI->getOperand(1).isReg() &&
18654        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18655        MI->getOperand(2).isReg() &&
18656        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18657        MI->getOperand(3).isImm() &&
18658        MI->getOperand(3).getImm() == 0 &&
18659        MI->getOperand(4).isImm() &&
18660        MI->getOperand(4).getImm() == 0) {
18661      // (LDRDroX FPR64Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18662      AsmString = "ldr	$\x01, [$\x02, $\x03]";
18663      break;
18664    }
18665    return false;
18666  case AArch64::LDRDui:
18667    if (MI->getNumOperands() == 3 &&
18668        MI->getOperand(0).isReg() &&
18669        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18670        MI->getOperand(1).isReg() &&
18671        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18672        MI->getOperand(2).isImm() &&
18673        MI->getOperand(2).getImm() == 0) {
18674      // (LDRDui FPR64Op:$Rt, GPR64sp:$Rn, 0)
18675      AsmString = "ldr	$\x01, [$\x02]";
18676      break;
18677    }
18678    return false;
18679  case AArch64::LDRHHroX:
18680    if (MI->getNumOperands() == 5 &&
18681        MI->getOperand(0).isReg() &&
18682        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18683        MI->getOperand(1).isReg() &&
18684        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18685        MI->getOperand(2).isReg() &&
18686        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18687        MI->getOperand(3).isImm() &&
18688        MI->getOperand(3).getImm() == 0 &&
18689        MI->getOperand(4).isImm() &&
18690        MI->getOperand(4).getImm() == 0) {
18691      // (LDRHHroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18692      AsmString = "ldrh	$\x01, [$\x02, $\x03]";
18693      break;
18694    }
18695    return false;
18696  case AArch64::LDRHHui:
18697    if (MI->getNumOperands() == 3 &&
18698        MI->getOperand(0).isReg() &&
18699        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18700        MI->getOperand(1).isReg() &&
18701        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18702        MI->getOperand(2).isImm() &&
18703        MI->getOperand(2).getImm() == 0) {
18704      // (LDRHHui GPR32:$Rt, GPR64sp:$Rn, 0)
18705      AsmString = "ldrh	$\x01, [$\x02]";
18706      break;
18707    }
18708    return false;
18709  case AArch64::LDRHroX:
18710    if (MI->getNumOperands() == 5 &&
18711        MI->getOperand(0).isReg() &&
18712        MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
18713        MI->getOperand(1).isReg() &&
18714        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18715        MI->getOperand(2).isReg() &&
18716        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18717        MI->getOperand(3).isImm() &&
18718        MI->getOperand(3).getImm() == 0 &&
18719        MI->getOperand(4).isImm() &&
18720        MI->getOperand(4).getImm() == 0) {
18721      // (LDRHroX FPR16Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18722      AsmString = "ldr	$\x01, [$\x02, $\x03]";
18723      break;
18724    }
18725    return false;
18726  case AArch64::LDRHui:
18727    if (MI->getNumOperands() == 3 &&
18728        MI->getOperand(0).isReg() &&
18729        MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
18730        MI->getOperand(1).isReg() &&
18731        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18732        MI->getOperand(2).isImm() &&
18733        MI->getOperand(2).getImm() == 0) {
18734      // (LDRHui FPR16Op:$Rt, GPR64sp:$Rn, 0)
18735      AsmString = "ldr	$\x01, [$\x02]";
18736      break;
18737    }
18738    return false;
18739  case AArch64::LDRQroX:
18740    if (MI->getNumOperands() == 5 &&
18741        MI->getOperand(0).isReg() &&
18742        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
18743        MI->getOperand(1).isReg() &&
18744        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18745        MI->getOperand(2).isReg() &&
18746        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18747        MI->getOperand(3).isImm() &&
18748        MI->getOperand(3).getImm() == 0 &&
18749        MI->getOperand(4).isImm() &&
18750        MI->getOperand(4).getImm() == 0) {
18751      // (LDRQroX FPR128Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18752      AsmString = "ldr	$\x01, [$\x02, $\x03]";
18753      break;
18754    }
18755    return false;
18756  case AArch64::LDRQui:
18757    if (MI->getNumOperands() == 3 &&
18758        MI->getOperand(0).isReg() &&
18759        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
18760        MI->getOperand(1).isReg() &&
18761        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18762        MI->getOperand(2).isImm() &&
18763        MI->getOperand(2).getImm() == 0) {
18764      // (LDRQui FPR128Op:$Rt, GPR64sp:$Rn, 0)
18765      AsmString = "ldr	$\x01, [$\x02]";
18766      break;
18767    }
18768    return false;
18769  case AArch64::LDRSBWroX:
18770    if (MI->getNumOperands() == 5 &&
18771        MI->getOperand(0).isReg() &&
18772        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18773        MI->getOperand(1).isReg() &&
18774        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18775        MI->getOperand(2).isReg() &&
18776        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18777        MI->getOperand(3).isImm() &&
18778        MI->getOperand(3).getImm() == 0 &&
18779        MI->getOperand(4).isImm() &&
18780        MI->getOperand(4).getImm() == 0) {
18781      // (LDRSBWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18782      AsmString = "ldrsb	$\x01, [$\x02, $\x03]";
18783      break;
18784    }
18785    return false;
18786  case AArch64::LDRSBWui:
18787    if (MI->getNumOperands() == 3 &&
18788        MI->getOperand(0).isReg() &&
18789        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18790        MI->getOperand(1).isReg() &&
18791        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18792        MI->getOperand(2).isImm() &&
18793        MI->getOperand(2).getImm() == 0) {
18794      // (LDRSBWui GPR32:$Rt, GPR64sp:$Rn, 0)
18795      AsmString = "ldrsb	$\x01, [$\x02]";
18796      break;
18797    }
18798    return false;
18799  case AArch64::LDRSBXroX:
18800    if (MI->getNumOperands() == 5 &&
18801        MI->getOperand(0).isReg() &&
18802        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18803        MI->getOperand(1).isReg() &&
18804        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18805        MI->getOperand(2).isReg() &&
18806        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18807        MI->getOperand(3).isImm() &&
18808        MI->getOperand(3).getImm() == 0 &&
18809        MI->getOperand(4).isImm() &&
18810        MI->getOperand(4).getImm() == 0) {
18811      // (LDRSBXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18812      AsmString = "ldrsb	$\x01, [$\x02, $\x03]";
18813      break;
18814    }
18815    return false;
18816  case AArch64::LDRSBXui:
18817    if (MI->getNumOperands() == 3 &&
18818        MI->getOperand(0).isReg() &&
18819        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18820        MI->getOperand(1).isReg() &&
18821        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18822        MI->getOperand(2).isImm() &&
18823        MI->getOperand(2).getImm() == 0) {
18824      // (LDRSBXui GPR64:$Rt, GPR64sp:$Rn, 0)
18825      AsmString = "ldrsb	$\x01, [$\x02]";
18826      break;
18827    }
18828    return false;
18829  case AArch64::LDRSHWroX:
18830    if (MI->getNumOperands() == 5 &&
18831        MI->getOperand(0).isReg() &&
18832        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18833        MI->getOperand(1).isReg() &&
18834        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18835        MI->getOperand(2).isReg() &&
18836        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18837        MI->getOperand(3).isImm() &&
18838        MI->getOperand(3).getImm() == 0 &&
18839        MI->getOperand(4).isImm() &&
18840        MI->getOperand(4).getImm() == 0) {
18841      // (LDRSHWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18842      AsmString = "ldrsh	$\x01, [$\x02, $\x03]";
18843      break;
18844    }
18845    return false;
18846  case AArch64::LDRSHWui:
18847    if (MI->getNumOperands() == 3 &&
18848        MI->getOperand(0).isReg() &&
18849        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18850        MI->getOperand(1).isReg() &&
18851        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18852        MI->getOperand(2).isImm() &&
18853        MI->getOperand(2).getImm() == 0) {
18854      // (LDRSHWui GPR32:$Rt, GPR64sp:$Rn, 0)
18855      AsmString = "ldrsh	$\x01, [$\x02]";
18856      break;
18857    }
18858    return false;
18859  case AArch64::LDRSHXroX:
18860    if (MI->getNumOperands() == 5 &&
18861        MI->getOperand(0).isReg() &&
18862        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18863        MI->getOperand(1).isReg() &&
18864        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18865        MI->getOperand(2).isReg() &&
18866        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18867        MI->getOperand(3).isImm() &&
18868        MI->getOperand(3).getImm() == 0 &&
18869        MI->getOperand(4).isImm() &&
18870        MI->getOperand(4).getImm() == 0) {
18871      // (LDRSHXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18872      AsmString = "ldrsh	$\x01, [$\x02, $\x03]";
18873      break;
18874    }
18875    return false;
18876  case AArch64::LDRSHXui:
18877    if (MI->getNumOperands() == 3 &&
18878        MI->getOperand(0).isReg() &&
18879        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18880        MI->getOperand(1).isReg() &&
18881        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18882        MI->getOperand(2).isImm() &&
18883        MI->getOperand(2).getImm() == 0) {
18884      // (LDRSHXui GPR64:$Rt, GPR64sp:$Rn, 0)
18885      AsmString = "ldrsh	$\x01, [$\x02]";
18886      break;
18887    }
18888    return false;
18889  case AArch64::LDRSWroX:
18890    if (MI->getNumOperands() == 5 &&
18891        MI->getOperand(0).isReg() &&
18892        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18893        MI->getOperand(1).isReg() &&
18894        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18895        MI->getOperand(2).isReg() &&
18896        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18897        MI->getOperand(3).isImm() &&
18898        MI->getOperand(3).getImm() == 0 &&
18899        MI->getOperand(4).isImm() &&
18900        MI->getOperand(4).getImm() == 0) {
18901      // (LDRSWroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18902      AsmString = "ldrsw	$\x01, [$\x02, $\x03]";
18903      break;
18904    }
18905    return false;
18906  case AArch64::LDRSWui:
18907    if (MI->getNumOperands() == 3 &&
18908        MI->getOperand(0).isReg() &&
18909        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18910        MI->getOperand(1).isReg() &&
18911        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18912        MI->getOperand(2).isImm() &&
18913        MI->getOperand(2).getImm() == 0) {
18914      // (LDRSWui GPR64:$Rt, GPR64sp:$Rn, 0)
18915      AsmString = "ldrsw	$\x01, [$\x02]";
18916      break;
18917    }
18918    return false;
18919  case AArch64::LDRSroX:
18920    if (MI->getNumOperands() == 5 &&
18921        MI->getOperand(0).isReg() &&
18922        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18923        MI->getOperand(1).isReg() &&
18924        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18925        MI->getOperand(2).isReg() &&
18926        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18927        MI->getOperand(3).isImm() &&
18928        MI->getOperand(3).getImm() == 0 &&
18929        MI->getOperand(4).isImm() &&
18930        MI->getOperand(4).getImm() == 0) {
18931      // (LDRSroX FPR32Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18932      AsmString = "ldr	$\x01, [$\x02, $\x03]";
18933      break;
18934    }
18935    return false;
18936  case AArch64::LDRSui:
18937    if (MI->getNumOperands() == 3 &&
18938        MI->getOperand(0).isReg() &&
18939        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18940        MI->getOperand(1).isReg() &&
18941        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18942        MI->getOperand(2).isImm() &&
18943        MI->getOperand(2).getImm() == 0) {
18944      // (LDRSui FPR32Op:$Rt, GPR64sp:$Rn, 0)
18945      AsmString = "ldr	$\x01, [$\x02]";
18946      break;
18947    }
18948    return false;
18949  case AArch64::LDRWroX:
18950    if (MI->getNumOperands() == 5 &&
18951        MI->getOperand(0).isReg() &&
18952        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18953        MI->getOperand(1).isReg() &&
18954        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18955        MI->getOperand(2).isReg() &&
18956        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18957        MI->getOperand(3).isImm() &&
18958        MI->getOperand(3).getImm() == 0 &&
18959        MI->getOperand(4).isImm() &&
18960        MI->getOperand(4).getImm() == 0) {
18961      // (LDRWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18962      AsmString = "ldr	$\x01, [$\x02, $\x03]";
18963      break;
18964    }
18965    return false;
18966  case AArch64::LDRWui:
18967    if (MI->getNumOperands() == 3 &&
18968        MI->getOperand(0).isReg() &&
18969        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
18970        MI->getOperand(1).isReg() &&
18971        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18972        MI->getOperand(2).isImm() &&
18973        MI->getOperand(2).getImm() == 0) {
18974      // (LDRWui GPR32z:$Rt, GPR64sp:$Rn, 0)
18975      AsmString = "ldr	$\x01, [$\x02]";
18976      break;
18977    }
18978    return false;
18979  case AArch64::LDRXroX:
18980    if (MI->getNumOperands() == 5 &&
18981        MI->getOperand(0).isReg() &&
18982        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
18983        MI->getOperand(1).isReg() &&
18984        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
18985        MI->getOperand(2).isReg() &&
18986        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
18987        MI->getOperand(3).isImm() &&
18988        MI->getOperand(3).getImm() == 0 &&
18989        MI->getOperand(4).isImm() &&
18990        MI->getOperand(4).getImm() == 0) {
18991      // (LDRXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
18992      AsmString = "ldr	$\x01, [$\x02, $\x03]";
18993      break;
18994    }
18995    return false;
18996  case AArch64::LDRXui:
18997    if (MI->getNumOperands() == 3 &&
18998        MI->getOperand(0).isReg() &&
18999        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19000        MI->getOperand(1).isReg() &&
19001        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19002        MI->getOperand(2).isImm() &&
19003        MI->getOperand(2).getImm() == 0) {
19004      // (LDRXui GPR64z:$Rt, GPR64sp:$Rn, 0)
19005      AsmString = "ldr	$\x01, [$\x02]";
19006      break;
19007    }
19008    return false;
19009  case AArch64::LDR_PXI:
19010    if (MI->getNumOperands() == 3 &&
19011        MI->getOperand(0).isReg() &&
19012        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19013        MI->getOperand(1).isReg() &&
19014        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19015        MI->getOperand(2).isImm() &&
19016        MI->getOperand(2).getImm() == 0 &&
19017        STI.getFeatureBits()[AArch64::FeatureSVE]) {
19018      // (LDR_PXI PPRAny:$Pt, GPR64sp:$Rn, 0)
19019      AsmString = "ldr	$\xFF\x01\x07, [$\x02]";
19020      break;
19021    }
19022    return false;
19023  case AArch64::LDR_ZXI:
19024    if (MI->getNumOperands() == 3 &&
19025        MI->getOperand(0).isReg() &&
19026        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19027        MI->getOperand(1).isReg() &&
19028        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19029        MI->getOperand(2).isImm() &&
19030        MI->getOperand(2).getImm() == 0 &&
19031        STI.getFeatureBits()[AArch64::FeatureSVE]) {
19032      // (LDR_ZXI ZPRAny:$Zt, GPR64sp:$Rn, 0)
19033      AsmString = "ldr	$\xFF\x01\x07, [$\x02]";
19034      break;
19035    }
19036    return false;
19037  case AArch64::LDSETB:
19038    if (MI->getNumOperands() == 3 &&
19039        MI->getOperand(0).getReg() == AArch64::WZR &&
19040        MI->getOperand(1).isReg() &&
19041        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19042        MI->getOperand(2).isReg() &&
19043        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19044        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19045      // (LDSETB WZR, GPR32:$Rs, GPR64sp:$Rn)
19046      AsmString = "stsetb	$\x02, [$\x03]";
19047      break;
19048    }
19049    return false;
19050  case AArch64::LDSETH:
19051    if (MI->getNumOperands() == 3 &&
19052        MI->getOperand(0).getReg() == AArch64::WZR &&
19053        MI->getOperand(1).isReg() &&
19054        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19055        MI->getOperand(2).isReg() &&
19056        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19057        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19058      // (LDSETH WZR, GPR32:$Rs, GPR64sp:$Rn)
19059      AsmString = "stseth	$\x02, [$\x03]";
19060      break;
19061    }
19062    return false;
19063  case AArch64::LDSETLB:
19064    if (MI->getNumOperands() == 3 &&
19065        MI->getOperand(0).getReg() == AArch64::WZR &&
19066        MI->getOperand(1).isReg() &&
19067        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19068        MI->getOperand(2).isReg() &&
19069        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19070        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19071      // (LDSETLB WZR, GPR32:$Rs, GPR64sp:$Rn)
19072      AsmString = "stsetlb	$\x02, [$\x03]";
19073      break;
19074    }
19075    return false;
19076  case AArch64::LDSETLH:
19077    if (MI->getNumOperands() == 3 &&
19078        MI->getOperand(0).getReg() == AArch64::WZR &&
19079        MI->getOperand(1).isReg() &&
19080        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19081        MI->getOperand(2).isReg() &&
19082        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19083        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19084      // (LDSETLH WZR, GPR32:$Rs, GPR64sp:$Rn)
19085      AsmString = "stsetlh	$\x02, [$\x03]";
19086      break;
19087    }
19088    return false;
19089  case AArch64::LDSETLW:
19090    if (MI->getNumOperands() == 3 &&
19091        MI->getOperand(0).getReg() == AArch64::WZR &&
19092        MI->getOperand(1).isReg() &&
19093        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19094        MI->getOperand(2).isReg() &&
19095        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19096        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19097      // (LDSETLW WZR, GPR32:$Rs, GPR64sp:$Rn)
19098      AsmString = "stsetl	$\x02, [$\x03]";
19099      break;
19100    }
19101    return false;
19102  case AArch64::LDSETLX:
19103    if (MI->getNumOperands() == 3 &&
19104        MI->getOperand(0).getReg() == AArch64::XZR &&
19105        MI->getOperand(1).isReg() &&
19106        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19107        MI->getOperand(2).isReg() &&
19108        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19109        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19110      // (LDSETLX XZR, GPR64:$Rs, GPR64sp:$Rn)
19111      AsmString = "stsetl	$\x02, [$\x03]";
19112      break;
19113    }
19114    return false;
19115  case AArch64::LDSETW:
19116    if (MI->getNumOperands() == 3 &&
19117        MI->getOperand(0).getReg() == AArch64::WZR &&
19118        MI->getOperand(1).isReg() &&
19119        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19120        MI->getOperand(2).isReg() &&
19121        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19122        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19123      // (LDSETW WZR, GPR32:$Rs, GPR64sp:$Rn)
19124      AsmString = "stset	$\x02, [$\x03]";
19125      break;
19126    }
19127    return false;
19128  case AArch64::LDSETX:
19129    if (MI->getNumOperands() == 3 &&
19130        MI->getOperand(0).getReg() == AArch64::XZR &&
19131        MI->getOperand(1).isReg() &&
19132        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19133        MI->getOperand(2).isReg() &&
19134        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19135        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19136      // (LDSETX XZR, GPR64:$Rs, GPR64sp:$Rn)
19137      AsmString = "stset	$\x02, [$\x03]";
19138      break;
19139    }
19140    return false;
19141  case AArch64::LDSMAXB:
19142    if (MI->getNumOperands() == 3 &&
19143        MI->getOperand(0).getReg() == AArch64::WZR &&
19144        MI->getOperand(1).isReg() &&
19145        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19146        MI->getOperand(2).isReg() &&
19147        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19148        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19149      // (LDSMAXB WZR, GPR32:$Rs, GPR64sp:$Rn)
19150      AsmString = "stsmaxb	$\x02, [$\x03]";
19151      break;
19152    }
19153    return false;
19154  case AArch64::LDSMAXH:
19155    if (MI->getNumOperands() == 3 &&
19156        MI->getOperand(0).getReg() == AArch64::WZR &&
19157        MI->getOperand(1).isReg() &&
19158        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19159        MI->getOperand(2).isReg() &&
19160        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19161        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19162      // (LDSMAXH WZR, GPR32:$Rs, GPR64sp:$Rn)
19163      AsmString = "stsmaxh	$\x02, [$\x03]";
19164      break;
19165    }
19166    return false;
19167  case AArch64::LDSMAXLB:
19168    if (MI->getNumOperands() == 3 &&
19169        MI->getOperand(0).getReg() == AArch64::WZR &&
19170        MI->getOperand(1).isReg() &&
19171        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19172        MI->getOperand(2).isReg() &&
19173        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19174        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19175      // (LDSMAXLB WZR, GPR32:$Rs, GPR64sp:$Rn)
19176      AsmString = "stsmaxlb	$\x02, [$\x03]";
19177      break;
19178    }
19179    return false;
19180  case AArch64::LDSMAXLH:
19181    if (MI->getNumOperands() == 3 &&
19182        MI->getOperand(0).getReg() == AArch64::WZR &&
19183        MI->getOperand(1).isReg() &&
19184        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19185        MI->getOperand(2).isReg() &&
19186        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19187        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19188      // (LDSMAXLH WZR, GPR32:$Rs, GPR64sp:$Rn)
19189      AsmString = "stsmaxlh	$\x02, [$\x03]";
19190      break;
19191    }
19192    return false;
19193  case AArch64::LDSMAXLW:
19194    if (MI->getNumOperands() == 3 &&
19195        MI->getOperand(0).getReg() == AArch64::WZR &&
19196        MI->getOperand(1).isReg() &&
19197        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19198        MI->getOperand(2).isReg() &&
19199        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19200        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19201      // (LDSMAXLW WZR, GPR32:$Rs, GPR64sp:$Rn)
19202      AsmString = "stsmaxl	$\x02, [$\x03]";
19203      break;
19204    }
19205    return false;
19206  case AArch64::LDSMAXLX:
19207    if (MI->getNumOperands() == 3 &&
19208        MI->getOperand(0).getReg() == AArch64::XZR &&
19209        MI->getOperand(1).isReg() &&
19210        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19211        MI->getOperand(2).isReg() &&
19212        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19213        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19214      // (LDSMAXLX XZR, GPR64:$Rs, GPR64sp:$Rn)
19215      AsmString = "stsmaxl	$\x02, [$\x03]";
19216      break;
19217    }
19218    return false;
19219  case AArch64::LDSMAXW:
19220    if (MI->getNumOperands() == 3 &&
19221        MI->getOperand(0).getReg() == AArch64::WZR &&
19222        MI->getOperand(1).isReg() &&
19223        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19224        MI->getOperand(2).isReg() &&
19225        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19226        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19227      // (LDSMAXW WZR, GPR32:$Rs, GPR64sp:$Rn)
19228      AsmString = "stsmax	$\x02, [$\x03]";
19229      break;
19230    }
19231    return false;
19232  case AArch64::LDSMAXX:
19233    if (MI->getNumOperands() == 3 &&
19234        MI->getOperand(0).getReg() == AArch64::XZR &&
19235        MI->getOperand(1).isReg() &&
19236        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19237        MI->getOperand(2).isReg() &&
19238        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19239        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19240      // (LDSMAXX XZR, GPR64:$Rs, GPR64sp:$Rn)
19241      AsmString = "stsmax	$\x02, [$\x03]";
19242      break;
19243    }
19244    return false;
19245  case AArch64::LDSMINB:
19246    if (MI->getNumOperands() == 3 &&
19247        MI->getOperand(0).getReg() == AArch64::WZR &&
19248        MI->getOperand(1).isReg() &&
19249        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19250        MI->getOperand(2).isReg() &&
19251        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19252        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19253      // (LDSMINB WZR, GPR32:$Rs, GPR64sp:$Rn)
19254      AsmString = "stsminb	$\x02, [$\x03]";
19255      break;
19256    }
19257    return false;
19258  case AArch64::LDSMINH:
19259    if (MI->getNumOperands() == 3 &&
19260        MI->getOperand(0).getReg() == AArch64::WZR &&
19261        MI->getOperand(1).isReg() &&
19262        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19263        MI->getOperand(2).isReg() &&
19264        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19265        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19266      // (LDSMINH WZR, GPR32:$Rs, GPR64sp:$Rn)
19267      AsmString = "stsminh	$\x02, [$\x03]";
19268      break;
19269    }
19270    return false;
19271  case AArch64::LDSMINLB:
19272    if (MI->getNumOperands() == 3 &&
19273        MI->getOperand(0).getReg() == AArch64::WZR &&
19274        MI->getOperand(1).isReg() &&
19275        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19276        MI->getOperand(2).isReg() &&
19277        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19278        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19279      // (LDSMINLB WZR, GPR32:$Rs, GPR64sp:$Rn)
19280      AsmString = "stsminlb	$\x02, [$\x03]";
19281      break;
19282    }
19283    return false;
19284  case AArch64::LDSMINLH:
19285    if (MI->getNumOperands() == 3 &&
19286        MI->getOperand(0).getReg() == AArch64::WZR &&
19287        MI->getOperand(1).isReg() &&
19288        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19289        MI->getOperand(2).isReg() &&
19290        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19291        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19292      // (LDSMINLH WZR, GPR32:$Rs, GPR64sp:$Rn)
19293      AsmString = "stsminlh	$\x02, [$\x03]";
19294      break;
19295    }
19296    return false;
19297  case AArch64::LDSMINLW:
19298    if (MI->getNumOperands() == 3 &&
19299        MI->getOperand(0).getReg() == AArch64::WZR &&
19300        MI->getOperand(1).isReg() &&
19301        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19302        MI->getOperand(2).isReg() &&
19303        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19304        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19305      // (LDSMINLW WZR, GPR32:$Rs, GPR64sp:$Rn)
19306      AsmString = "stsminl	$\x02, [$\x03]";
19307      break;
19308    }
19309    return false;
19310  case AArch64::LDSMINLX:
19311    if (MI->getNumOperands() == 3 &&
19312        MI->getOperand(0).getReg() == AArch64::XZR &&
19313        MI->getOperand(1).isReg() &&
19314        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19315        MI->getOperand(2).isReg() &&
19316        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19317        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19318      // (LDSMINLX XZR, GPR64:$Rs, GPR64sp:$Rn)
19319      AsmString = "stsminl	$\x02, [$\x03]";
19320      break;
19321    }
19322    return false;
19323  case AArch64::LDSMINW:
19324    if (MI->getNumOperands() == 3 &&
19325        MI->getOperand(0).getReg() == AArch64::WZR &&
19326        MI->getOperand(1).isReg() &&
19327        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19328        MI->getOperand(2).isReg() &&
19329        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19330        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19331      // (LDSMINW WZR, GPR32:$Rs, GPR64sp:$Rn)
19332      AsmString = "stsmin	$\x02, [$\x03]";
19333      break;
19334    }
19335    return false;
19336  case AArch64::LDSMINX:
19337    if (MI->getNumOperands() == 3 &&
19338        MI->getOperand(0).getReg() == AArch64::XZR &&
19339        MI->getOperand(1).isReg() &&
19340        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19341        MI->getOperand(2).isReg() &&
19342        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19343        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19344      // (LDSMINX XZR, GPR64:$Rs, GPR64sp:$Rn)
19345      AsmString = "stsmin	$\x02, [$\x03]";
19346      break;
19347    }
19348    return false;
19349  case AArch64::LDTRBi:
19350    if (MI->getNumOperands() == 3 &&
19351        MI->getOperand(0).isReg() &&
19352        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19353        MI->getOperand(1).isReg() &&
19354        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19355        MI->getOperand(2).isImm() &&
19356        MI->getOperand(2).getImm() == 0) {
19357      // (LDTRBi GPR32:$Rt, GPR64sp:$Rn, 0)
19358      AsmString = "ldtrb	$\x01, [$\x02]";
19359      break;
19360    }
19361    return false;
19362  case AArch64::LDTRHi:
19363    if (MI->getNumOperands() == 3 &&
19364        MI->getOperand(0).isReg() &&
19365        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19366        MI->getOperand(1).isReg() &&
19367        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19368        MI->getOperand(2).isImm() &&
19369        MI->getOperand(2).getImm() == 0) {
19370      // (LDTRHi GPR32:$Rt, GPR64sp:$Rn, 0)
19371      AsmString = "ldtrh	$\x01, [$\x02]";
19372      break;
19373    }
19374    return false;
19375  case AArch64::LDTRSBWi:
19376    if (MI->getNumOperands() == 3 &&
19377        MI->getOperand(0).isReg() &&
19378        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19379        MI->getOperand(1).isReg() &&
19380        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19381        MI->getOperand(2).isImm() &&
19382        MI->getOperand(2).getImm() == 0) {
19383      // (LDTRSBWi GPR32:$Rt, GPR64sp:$Rn, 0)
19384      AsmString = "ldtrsb	$\x01, [$\x02]";
19385      break;
19386    }
19387    return false;
19388  case AArch64::LDTRSBXi:
19389    if (MI->getNumOperands() == 3 &&
19390        MI->getOperand(0).isReg() &&
19391        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19392        MI->getOperand(1).isReg() &&
19393        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19394        MI->getOperand(2).isImm() &&
19395        MI->getOperand(2).getImm() == 0) {
19396      // (LDTRSBXi GPR64:$Rt, GPR64sp:$Rn, 0)
19397      AsmString = "ldtrsb	$\x01, [$\x02]";
19398      break;
19399    }
19400    return false;
19401  case AArch64::LDTRSHWi:
19402    if (MI->getNumOperands() == 3 &&
19403        MI->getOperand(0).isReg() &&
19404        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19405        MI->getOperand(1).isReg() &&
19406        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19407        MI->getOperand(2).isImm() &&
19408        MI->getOperand(2).getImm() == 0) {
19409      // (LDTRSHWi GPR32:$Rt, GPR64sp:$Rn, 0)
19410      AsmString = "ldtrsh	$\x01, [$\x02]";
19411      break;
19412    }
19413    return false;
19414  case AArch64::LDTRSHXi:
19415    if (MI->getNumOperands() == 3 &&
19416        MI->getOperand(0).isReg() &&
19417        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19418        MI->getOperand(1).isReg() &&
19419        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19420        MI->getOperand(2).isImm() &&
19421        MI->getOperand(2).getImm() == 0) {
19422      // (LDTRSHXi GPR64:$Rt, GPR64sp:$Rn, 0)
19423      AsmString = "ldtrsh	$\x01, [$\x02]";
19424      break;
19425    }
19426    return false;
19427  case AArch64::LDTRSWi:
19428    if (MI->getNumOperands() == 3 &&
19429        MI->getOperand(0).isReg() &&
19430        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19431        MI->getOperand(1).isReg() &&
19432        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19433        MI->getOperand(2).isImm() &&
19434        MI->getOperand(2).getImm() == 0) {
19435      // (LDTRSWi GPR64:$Rt, GPR64sp:$Rn, 0)
19436      AsmString = "ldtrsw	$\x01, [$\x02]";
19437      break;
19438    }
19439    return false;
19440  case AArch64::LDTRWi:
19441    if (MI->getNumOperands() == 3 &&
19442        MI->getOperand(0).isReg() &&
19443        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19444        MI->getOperand(1).isReg() &&
19445        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19446        MI->getOperand(2).isImm() &&
19447        MI->getOperand(2).getImm() == 0) {
19448      // (LDTRWi GPR32:$Rt, GPR64sp:$Rn, 0)
19449      AsmString = "ldtr	$\x01, [$\x02]";
19450      break;
19451    }
19452    return false;
19453  case AArch64::LDTRXi:
19454    if (MI->getNumOperands() == 3 &&
19455        MI->getOperand(0).isReg() &&
19456        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19457        MI->getOperand(1).isReg() &&
19458        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19459        MI->getOperand(2).isImm() &&
19460        MI->getOperand(2).getImm() == 0) {
19461      // (LDTRXi GPR64:$Rt, GPR64sp:$Rn, 0)
19462      AsmString = "ldtr	$\x01, [$\x02]";
19463      break;
19464    }
19465    return false;
19466  case AArch64::LDUMAXB:
19467    if (MI->getNumOperands() == 3 &&
19468        MI->getOperand(0).getReg() == AArch64::WZR &&
19469        MI->getOperand(1).isReg() &&
19470        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19471        MI->getOperand(2).isReg() &&
19472        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19473        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19474      // (LDUMAXB WZR, GPR32:$Rs, GPR64sp:$Rn)
19475      AsmString = "stumaxb	$\x02, [$\x03]";
19476      break;
19477    }
19478    return false;
19479  case AArch64::LDUMAXH:
19480    if (MI->getNumOperands() == 3 &&
19481        MI->getOperand(0).getReg() == AArch64::WZR &&
19482        MI->getOperand(1).isReg() &&
19483        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19484        MI->getOperand(2).isReg() &&
19485        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19486        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19487      // (LDUMAXH WZR, GPR32:$Rs, GPR64sp:$Rn)
19488      AsmString = "stumaxh	$\x02, [$\x03]";
19489      break;
19490    }
19491    return false;
19492  case AArch64::LDUMAXLB:
19493    if (MI->getNumOperands() == 3 &&
19494        MI->getOperand(0).getReg() == AArch64::WZR &&
19495        MI->getOperand(1).isReg() &&
19496        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19497        MI->getOperand(2).isReg() &&
19498        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19499        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19500      // (LDUMAXLB WZR, GPR32:$Rs, GPR64sp:$Rn)
19501      AsmString = "stumaxlb	$\x02, [$\x03]";
19502      break;
19503    }
19504    return false;
19505  case AArch64::LDUMAXLH:
19506    if (MI->getNumOperands() == 3 &&
19507        MI->getOperand(0).getReg() == AArch64::WZR &&
19508        MI->getOperand(1).isReg() &&
19509        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19510        MI->getOperand(2).isReg() &&
19511        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19512        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19513      // (LDUMAXLH WZR, GPR32:$Rs, GPR64sp:$Rn)
19514      AsmString = "stumaxlh	$\x02, [$\x03]";
19515      break;
19516    }
19517    return false;
19518  case AArch64::LDUMAXLW:
19519    if (MI->getNumOperands() == 3 &&
19520        MI->getOperand(0).getReg() == AArch64::WZR &&
19521        MI->getOperand(1).isReg() &&
19522        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19523        MI->getOperand(2).isReg() &&
19524        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19525        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19526      // (LDUMAXLW WZR, GPR32:$Rs, GPR64sp:$Rn)
19527      AsmString = "stumaxl	$\x02, [$\x03]";
19528      break;
19529    }
19530    return false;
19531  case AArch64::LDUMAXLX:
19532    if (MI->getNumOperands() == 3 &&
19533        MI->getOperand(0).getReg() == AArch64::XZR &&
19534        MI->getOperand(1).isReg() &&
19535        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19536        MI->getOperand(2).isReg() &&
19537        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19538        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19539      // (LDUMAXLX XZR, GPR64:$Rs, GPR64sp:$Rn)
19540      AsmString = "stumaxl	$\x02, [$\x03]";
19541      break;
19542    }
19543    return false;
19544  case AArch64::LDUMAXW:
19545    if (MI->getNumOperands() == 3 &&
19546        MI->getOperand(0).getReg() == AArch64::WZR &&
19547        MI->getOperand(1).isReg() &&
19548        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19549        MI->getOperand(2).isReg() &&
19550        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19551        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19552      // (LDUMAXW WZR, GPR32:$Rs, GPR64sp:$Rn)
19553      AsmString = "stumax	$\x02, [$\x03]";
19554      break;
19555    }
19556    return false;
19557  case AArch64::LDUMAXX:
19558    if (MI->getNumOperands() == 3 &&
19559        MI->getOperand(0).getReg() == AArch64::XZR &&
19560        MI->getOperand(1).isReg() &&
19561        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19562        MI->getOperand(2).isReg() &&
19563        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19564        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19565      // (LDUMAXX XZR, GPR64:$Rs, GPR64sp:$Rn)
19566      AsmString = "stumax	$\x02, [$\x03]";
19567      break;
19568    }
19569    return false;
19570  case AArch64::LDUMINB:
19571    if (MI->getNumOperands() == 3 &&
19572        MI->getOperand(0).getReg() == AArch64::WZR &&
19573        MI->getOperand(1).isReg() &&
19574        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19575        MI->getOperand(2).isReg() &&
19576        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19577        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19578      // (LDUMINB WZR, GPR32:$Rs, GPR64sp:$Rn)
19579      AsmString = "stuminb	$\x02, [$\x03]";
19580      break;
19581    }
19582    return false;
19583  case AArch64::LDUMINH:
19584    if (MI->getNumOperands() == 3 &&
19585        MI->getOperand(0).getReg() == AArch64::WZR &&
19586        MI->getOperand(1).isReg() &&
19587        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19588        MI->getOperand(2).isReg() &&
19589        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19590        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19591      // (LDUMINH WZR, GPR32:$Rs, GPR64sp:$Rn)
19592      AsmString = "stuminh	$\x02, [$\x03]";
19593      break;
19594    }
19595    return false;
19596  case AArch64::LDUMINLB:
19597    if (MI->getNumOperands() == 3 &&
19598        MI->getOperand(0).getReg() == AArch64::WZR &&
19599        MI->getOperand(1).isReg() &&
19600        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19601        MI->getOperand(2).isReg() &&
19602        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19603        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19604      // (LDUMINLB WZR, GPR32:$Rs, GPR64sp:$Rn)
19605      AsmString = "stuminlb	$\x02, [$\x03]";
19606      break;
19607    }
19608    return false;
19609  case AArch64::LDUMINLH:
19610    if (MI->getNumOperands() == 3 &&
19611        MI->getOperand(0).getReg() == AArch64::WZR &&
19612        MI->getOperand(1).isReg() &&
19613        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19614        MI->getOperand(2).isReg() &&
19615        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19616        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19617      // (LDUMINLH WZR, GPR32:$Rs, GPR64sp:$Rn)
19618      AsmString = "stuminlh	$\x02, [$\x03]";
19619      break;
19620    }
19621    return false;
19622  case AArch64::LDUMINLW:
19623    if (MI->getNumOperands() == 3 &&
19624        MI->getOperand(0).getReg() == AArch64::WZR &&
19625        MI->getOperand(1).isReg() &&
19626        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19627        MI->getOperand(2).isReg() &&
19628        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19629        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19630      // (LDUMINLW WZR, GPR32:$Rs, GPR64sp:$Rn)
19631      AsmString = "stuminl	$\x02, [$\x03]";
19632      break;
19633    }
19634    return false;
19635  case AArch64::LDUMINLX:
19636    if (MI->getNumOperands() == 3 &&
19637        MI->getOperand(0).getReg() == AArch64::XZR &&
19638        MI->getOperand(1).isReg() &&
19639        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19640        MI->getOperand(2).isReg() &&
19641        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19642        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19643      // (LDUMINLX XZR, GPR64:$Rs, GPR64sp:$Rn)
19644      AsmString = "stuminl	$\x02, [$\x03]";
19645      break;
19646    }
19647    return false;
19648  case AArch64::LDUMINW:
19649    if (MI->getNumOperands() == 3 &&
19650        MI->getOperand(0).getReg() == AArch64::WZR &&
19651        MI->getOperand(1).isReg() &&
19652        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19653        MI->getOperand(2).isReg() &&
19654        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19655        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19656      // (LDUMINW WZR, GPR32:$Rs, GPR64sp:$Rn)
19657      AsmString = "stumin	$\x02, [$\x03]";
19658      break;
19659    }
19660    return false;
19661  case AArch64::LDUMINX:
19662    if (MI->getNumOperands() == 3 &&
19663        MI->getOperand(0).getReg() == AArch64::XZR &&
19664        MI->getOperand(1).isReg() &&
19665        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19666        MI->getOperand(2).isReg() &&
19667        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19668        STI.getFeatureBits()[AArch64::FeatureLSE]) {
19669      // (LDUMINX XZR, GPR64:$Rs, GPR64sp:$Rn)
19670      AsmString = "stumin	$\x02, [$\x03]";
19671      break;
19672    }
19673    return false;
19674  case AArch64::LDURBBi:
19675    if (MI->getNumOperands() == 3 &&
19676        MI->getOperand(0).isReg() &&
19677        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19678        MI->getOperand(1).isReg() &&
19679        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19680        MI->getOperand(2).isImm() &&
19681        MI->getOperand(2).getImm() == 0) {
19682      // (LDURBBi GPR32:$Rt, GPR64sp:$Rn, 0)
19683      AsmString = "ldurb	$\x01, [$\x02]";
19684      break;
19685    }
19686    return false;
19687  case AArch64::LDURBi:
19688    if (MI->getNumOperands() == 3 &&
19689        MI->getOperand(0).isReg() &&
19690        MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
19691        MI->getOperand(1).isReg() &&
19692        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19693        MI->getOperand(2).isImm() &&
19694        MI->getOperand(2).getImm() == 0) {
19695      // (LDURBi FPR8Op:$Rt, GPR64sp:$Rn, 0)
19696      AsmString = "ldur	$\x01, [$\x02]";
19697      break;
19698    }
19699    return false;
19700  case AArch64::LDURDi:
19701    if (MI->getNumOperands() == 3 &&
19702        MI->getOperand(0).isReg() &&
19703        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19704        MI->getOperand(1).isReg() &&
19705        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19706        MI->getOperand(2).isImm() &&
19707        MI->getOperand(2).getImm() == 0) {
19708      // (LDURDi FPR64Op:$Rt, GPR64sp:$Rn, 0)
19709      AsmString = "ldur	$\x01, [$\x02]";
19710      break;
19711    }
19712    return false;
19713  case AArch64::LDURHHi:
19714    if (MI->getNumOperands() == 3 &&
19715        MI->getOperand(0).isReg() &&
19716        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19717        MI->getOperand(1).isReg() &&
19718        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19719        MI->getOperand(2).isImm() &&
19720        MI->getOperand(2).getImm() == 0) {
19721      // (LDURHHi GPR32:$Rt, GPR64sp:$Rn, 0)
19722      AsmString = "ldurh	$\x01, [$\x02]";
19723      break;
19724    }
19725    return false;
19726  case AArch64::LDURHi:
19727    if (MI->getNumOperands() == 3 &&
19728        MI->getOperand(0).isReg() &&
19729        MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
19730        MI->getOperand(1).isReg() &&
19731        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19732        MI->getOperand(2).isImm() &&
19733        MI->getOperand(2).getImm() == 0) {
19734      // (LDURHi FPR16Op:$Rt, GPR64sp:$Rn, 0)
19735      AsmString = "ldur	$\x01, [$\x02]";
19736      break;
19737    }
19738    return false;
19739  case AArch64::LDURQi:
19740    if (MI->getNumOperands() == 3 &&
19741        MI->getOperand(0).isReg() &&
19742        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
19743        MI->getOperand(1).isReg() &&
19744        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19745        MI->getOperand(2).isImm() &&
19746        MI->getOperand(2).getImm() == 0) {
19747      // (LDURQi FPR128Op:$Rt, GPR64sp:$Rn, 0)
19748      AsmString = "ldur	$\x01, [$\x02]";
19749      break;
19750    }
19751    return false;
19752  case AArch64::LDURSBWi:
19753    if (MI->getNumOperands() == 3 &&
19754        MI->getOperand(0).isReg() &&
19755        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19756        MI->getOperand(1).isReg() &&
19757        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19758        MI->getOperand(2).isImm() &&
19759        MI->getOperand(2).getImm() == 0) {
19760      // (LDURSBWi GPR32:$Rt, GPR64sp:$Rn, 0)
19761      AsmString = "ldursb	$\x01, [$\x02]";
19762      break;
19763    }
19764    return false;
19765  case AArch64::LDURSBXi:
19766    if (MI->getNumOperands() == 3 &&
19767        MI->getOperand(0).isReg() &&
19768        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19769        MI->getOperand(1).isReg() &&
19770        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19771        MI->getOperand(2).isImm() &&
19772        MI->getOperand(2).getImm() == 0) {
19773      // (LDURSBXi GPR64:$Rt, GPR64sp:$Rn, 0)
19774      AsmString = "ldursb	$\x01, [$\x02]";
19775      break;
19776    }
19777    return false;
19778  case AArch64::LDURSHWi:
19779    if (MI->getNumOperands() == 3 &&
19780        MI->getOperand(0).isReg() &&
19781        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19782        MI->getOperand(1).isReg() &&
19783        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19784        MI->getOperand(2).isImm() &&
19785        MI->getOperand(2).getImm() == 0) {
19786      // (LDURSHWi GPR32:$Rt, GPR64sp:$Rn, 0)
19787      AsmString = "ldursh	$\x01, [$\x02]";
19788      break;
19789    }
19790    return false;
19791  case AArch64::LDURSHXi:
19792    if (MI->getNumOperands() == 3 &&
19793        MI->getOperand(0).isReg() &&
19794        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19795        MI->getOperand(1).isReg() &&
19796        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19797        MI->getOperand(2).isImm() &&
19798        MI->getOperand(2).getImm() == 0) {
19799      // (LDURSHXi GPR64:$Rt, GPR64sp:$Rn, 0)
19800      AsmString = "ldursh	$\x01, [$\x02]";
19801      break;
19802    }
19803    return false;
19804  case AArch64::LDURSWi:
19805    if (MI->getNumOperands() == 3 &&
19806        MI->getOperand(0).isReg() &&
19807        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19808        MI->getOperand(1).isReg() &&
19809        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19810        MI->getOperand(2).isImm() &&
19811        MI->getOperand(2).getImm() == 0) {
19812      // (LDURSWi GPR64:$Rt, GPR64sp:$Rn, 0)
19813      AsmString = "ldursw	$\x01, [$\x02]";
19814      break;
19815    }
19816    return false;
19817  case AArch64::LDURSi:
19818    if (MI->getNumOperands() == 3 &&
19819        MI->getOperand(0).isReg() &&
19820        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19821        MI->getOperand(1).isReg() &&
19822        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19823        MI->getOperand(2).isImm() &&
19824        MI->getOperand(2).getImm() == 0) {
19825      // (LDURSi FPR32Op:$Rt, GPR64sp:$Rn, 0)
19826      AsmString = "ldur	$\x01, [$\x02]";
19827      break;
19828    }
19829    return false;
19830  case AArch64::LDURWi:
19831    if (MI->getNumOperands() == 3 &&
19832        MI->getOperand(0).isReg() &&
19833        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19834        MI->getOperand(1).isReg() &&
19835        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19836        MI->getOperand(2).isImm() &&
19837        MI->getOperand(2).getImm() == 0) {
19838      // (LDURWi GPR32z:$Rt, GPR64sp:$Rn, 0)
19839      AsmString = "ldur	$\x01, [$\x02]";
19840      break;
19841    }
19842    return false;
19843  case AArch64::LDURXi:
19844    if (MI->getNumOperands() == 3 &&
19845        MI->getOperand(0).isReg() &&
19846        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19847        MI->getOperand(1).isReg() &&
19848        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19849        MI->getOperand(2).isImm() &&
19850        MI->getOperand(2).getImm() == 0) {
19851      // (LDURXi GPR64z:$Rt, GPR64sp:$Rn, 0)
19852      AsmString = "ldur	$\x01, [$\x02]";
19853      break;
19854    }
19855    return false;
19856  case AArch64::MADDWrrr:
19857    if (MI->getNumOperands() == 4 &&
19858        MI->getOperand(0).isReg() &&
19859        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19860        MI->getOperand(1).isReg() &&
19861        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19862        MI->getOperand(2).isReg() &&
19863        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
19864        MI->getOperand(3).getReg() == AArch64::WZR) {
19865      // (MADDWrrr GPR32:$dst, GPR32:$src1, GPR32:$src2, WZR)
19866      AsmString = "mul	$\x01, $\x02, $\x03";
19867      break;
19868    }
19869    return false;
19870  case AArch64::MADDXrrr:
19871    if (MI->getNumOperands() == 4 &&
19872        MI->getOperand(0).isReg() &&
19873        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19874        MI->getOperand(1).isReg() &&
19875        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19876        MI->getOperand(2).isReg() &&
19877        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
19878        MI->getOperand(3).getReg() == AArch64::XZR) {
19879      // (MADDXrrr GPR64:$dst, GPR64:$src1, GPR64:$src2, XZR)
19880      AsmString = "mul	$\x01, $\x02, $\x03";
19881      break;
19882    }
19883    return false;
19884  case AArch64::MSUBWrrr:
19885    if (MI->getNumOperands() == 4 &&
19886        MI->getOperand(0).isReg() &&
19887        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19888        MI->getOperand(1).isReg() &&
19889        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19890        MI->getOperand(2).isReg() &&
19891        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
19892        MI->getOperand(3).getReg() == AArch64::WZR) {
19893      // (MSUBWrrr GPR32:$dst, GPR32:$src1, GPR32:$src2, WZR)
19894      AsmString = "mneg	$\x01, $\x02, $\x03";
19895      break;
19896    }
19897    return false;
19898  case AArch64::MSUBXrrr:
19899    if (MI->getNumOperands() == 4 &&
19900        MI->getOperand(0).isReg() &&
19901        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19902        MI->getOperand(1).isReg() &&
19903        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19904        MI->getOperand(2).isReg() &&
19905        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
19906        MI->getOperand(3).getReg() == AArch64::XZR) {
19907      // (MSUBXrrr GPR64:$dst, GPR64:$src1, GPR64:$src2, XZR)
19908      AsmString = "mneg	$\x01, $\x02, $\x03";
19909      break;
19910    }
19911    return false;
19912  case AArch64::NOTv16i8:
19913    if (MI->getNumOperands() == 2 &&
19914        MI->getOperand(0).isReg() &&
19915        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
19916        MI->getOperand(1).isReg() &&
19917        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg())) {
19918      // (NOTv16i8 V128:$Vd, V128:$Vn)
19919      AsmString = "mvn $\xFF\x01\x0C.16b, $\xFF\x02\x0C.16b";
19920      break;
19921    }
19922    return false;
19923  case AArch64::NOTv8i8:
19924    if (MI->getNumOperands() == 2 &&
19925        MI->getOperand(0).isReg() &&
19926        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19927        MI->getOperand(1).isReg() &&
19928        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg())) {
19929      // (NOTv8i8 V64:$Vd, V64:$Vn)
19930      AsmString = "mvn $\xFF\x01\x0C.8b, $\xFF\x02\x0C.8b";
19931      break;
19932    }
19933    return false;
19934  case AArch64::ORNWrs:
19935    if (MI->getNumOperands() == 4 &&
19936        MI->getOperand(0).isReg() &&
19937        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19938        MI->getOperand(1).getReg() == AArch64::WZR &&
19939        MI->getOperand(2).isReg() &&
19940        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
19941        MI->getOperand(3).isImm() &&
19942        MI->getOperand(3).getImm() == 0) {
19943      // (ORNWrs GPR32:$Wd, WZR, GPR32:$Wm, 0)
19944      AsmString = "mvn $\x01, $\x03";
19945      break;
19946    }
19947    if (MI->getNumOperands() == 4 &&
19948        MI->getOperand(0).isReg() &&
19949        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19950        MI->getOperand(1).getReg() == AArch64::WZR &&
19951        MI->getOperand(2).isReg() &&
19952        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
19953      // (ORNWrs GPR32:$Wd, WZR, GPR32:$Wm, logical_shift32:$sh)
19954      AsmString = "mvn $\x01, $\x03$\xFF\x04\x02";
19955      break;
19956    }
19957    if (MI->getNumOperands() == 4 &&
19958        MI->getOperand(0).isReg() &&
19959        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19960        MI->getOperand(1).isReg() &&
19961        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19962        MI->getOperand(2).isReg() &&
19963        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
19964        MI->getOperand(3).isImm() &&
19965        MI->getOperand(3).getImm() == 0) {
19966      // (ORNWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
19967      AsmString = "orn	$\x01, $\x02, $\x03";
19968      break;
19969    }
19970    return false;
19971  case AArch64::ORNXrs:
19972    if (MI->getNumOperands() == 4 &&
19973        MI->getOperand(0).isReg() &&
19974        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19975        MI->getOperand(1).getReg() == AArch64::XZR &&
19976        MI->getOperand(2).isReg() &&
19977        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
19978        MI->getOperand(3).isImm() &&
19979        MI->getOperand(3).getImm() == 0) {
19980      // (ORNXrs GPR64:$Xd, XZR, GPR64:$Xm, 0)
19981      AsmString = "mvn $\x01, $\x03";
19982      break;
19983    }
19984    if (MI->getNumOperands() == 4 &&
19985        MI->getOperand(0).isReg() &&
19986        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19987        MI->getOperand(1).getReg() == AArch64::XZR &&
19988        MI->getOperand(2).isReg() &&
19989        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
19990      // (ORNXrs GPR64:$Xd, XZR, GPR64:$Xm, logical_shift64:$sh)
19991      AsmString = "mvn $\x01, $\x03$\xFF\x04\x02";
19992      break;
19993    }
19994    if (MI->getNumOperands() == 4 &&
19995        MI->getOperand(0).isReg() &&
19996        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19997        MI->getOperand(1).isReg() &&
19998        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19999        MI->getOperand(2).isReg() &&
20000        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20001        MI->getOperand(3).isImm() &&
20002        MI->getOperand(3).getImm() == 0) {
20003      // (ORNXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
20004      AsmString = "orn	$\x01, $\x02, $\x03";
20005      break;
20006    }
20007    return false;
20008  case AArch64::ORRS_PPzPP:
20009    if (MI->getNumOperands() == 4 &&
20010        MI->getOperand(0).isReg() &&
20011        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20012        MI->getOperand(1).isReg() &&
20013        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20014        MI->getOperand(2).isReg() &&
20015        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
20016        MI->getOperand(3).isReg() &&
20017        MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
20018        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20019      // (ORRS_PPzPP PPR8:$Pd, PPR8:$Pn, PPR8:$Pn, PPR8:$Pn)
20020      AsmString = "movs $\xFF\x01\x06, $\xFF\x02\x06";
20021      break;
20022    }
20023    return false;
20024  case AArch64::ORRWrs:
20025    if (MI->getNumOperands() == 4 &&
20026        MI->getOperand(0).isReg() &&
20027        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20028        MI->getOperand(1).getReg() == AArch64::WZR &&
20029        MI->getOperand(2).isReg() &&
20030        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
20031        MI->getOperand(3).isImm() &&
20032        MI->getOperand(3).getImm() == 0) {
20033      // (ORRWrs GPR32:$dst, WZR, GPR32:$src, 0)
20034      AsmString = "mov $\x01, $\x03";
20035      break;
20036    }
20037    if (MI->getNumOperands() == 4 &&
20038        MI->getOperand(0).isReg() &&
20039        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20040        MI->getOperand(1).isReg() &&
20041        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20042        MI->getOperand(2).isReg() &&
20043        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
20044        MI->getOperand(3).isImm() &&
20045        MI->getOperand(3).getImm() == 0) {
20046      // (ORRWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
20047      AsmString = "orr	$\x01, $\x02, $\x03";
20048      break;
20049    }
20050    return false;
20051  case AArch64::ORRXrs:
20052    if (MI->getNumOperands() == 4 &&
20053        MI->getOperand(0).isReg() &&
20054        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20055        MI->getOperand(1).getReg() == AArch64::XZR &&
20056        MI->getOperand(2).isReg() &&
20057        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20058        MI->getOperand(3).isImm() &&
20059        MI->getOperand(3).getImm() == 0) {
20060      // (ORRXrs GPR64:$dst, XZR, GPR64:$src, 0)
20061      AsmString = "mov $\x01, $\x03";
20062      break;
20063    }
20064    if (MI->getNumOperands() == 4 &&
20065        MI->getOperand(0).isReg() &&
20066        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20067        MI->getOperand(1).isReg() &&
20068        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20069        MI->getOperand(2).isReg() &&
20070        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20071        MI->getOperand(3).isImm() &&
20072        MI->getOperand(3).getImm() == 0) {
20073      // (ORRXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
20074      AsmString = "orr	$\x01, $\x02, $\x03";
20075      break;
20076    }
20077    return false;
20078  case AArch64::ORR_PPzPP:
20079    if (MI->getNumOperands() == 4 &&
20080        MI->getOperand(0).isReg() &&
20081        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20082        MI->getOperand(1).isReg() &&
20083        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20084        MI->getOperand(2).isReg() &&
20085        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
20086        MI->getOperand(3).isReg() &&
20087        MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
20088        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20089      // (ORR_PPzPP PPR8:$Pd, PPR8:$Pn, PPR8:$Pn, PPR8:$Pn)
20090      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x06";
20091      break;
20092    }
20093    return false;
20094  case AArch64::ORR_ZI:
20095    if (MI->getNumOperands() == 3 &&
20096        MI->getOperand(0).isReg() &&
20097        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20098        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
20099        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20100      // (ORR_ZI ZPR8:$Zdn, sve_logical_imm8:$imm)
20101      AsmString = "orr	$\xFF\x01\x06, $\xFF\x01\x06, $\xFF\x03\x08";
20102      break;
20103    }
20104    if (MI->getNumOperands() == 3 &&
20105        MI->getOperand(0).isReg() &&
20106        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20107        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
20108        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20109      // (ORR_ZI ZPR16:$Zdn, sve_logical_imm16:$imm)
20110      AsmString = "orr	$\xFF\x01\x09, $\xFF\x01\x09, $\xFF\x03\x0A";
20111      break;
20112    }
20113    if (MI->getNumOperands() == 3 &&
20114        MI->getOperand(0).isReg() &&
20115        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20116        AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
20117        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20118      // (ORR_ZI ZPR32:$Zdn, sve_logical_imm32:$imm)
20119      AsmString = "orr	$\xFF\x01\x0B, $\xFF\x01\x0B, $\xFF\x03\x04";
20120      break;
20121    }
20122    return false;
20123  case AArch64::ORR_ZZZ:
20124    if (MI->getNumOperands() == 3 &&
20125        MI->getOperand(0).isReg() &&
20126        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20127        MI->getOperand(1).isReg() &&
20128        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20129        MI->getOperand(2).isReg() &&
20130        MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
20131        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20132      // (ORR_ZZZ ZPR64:$Zd, ZPR64:$Zn, ZPR64:$Zn)
20133      AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x10";
20134      break;
20135    }
20136    return false;
20137  case AArch64::ORRv16i8:
20138    if (MI->getNumOperands() == 3 &&
20139        MI->getOperand(0).isReg() &&
20140        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
20141        MI->getOperand(1).isReg() &&
20142        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
20143        MI->getOperand(2).isReg() &&
20144        MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
20145      // (ORRv16i8 V128:$dst, V128:$src, V128:$src)
20146      AsmString = "mov	$\xFF\x01\x0C.16b, $\xFF\x02\x0C.16b";
20147      break;
20148    }
20149    return false;
20150  case AArch64::ORRv8i8:
20151    if (MI->getNumOperands() == 3 &&
20152        MI->getOperand(0).isReg() &&
20153        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20154        MI->getOperand(1).isReg() &&
20155        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20156        MI->getOperand(2).isReg() &&
20157        MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
20158      // (ORRv8i8 V64:$dst, V64:$src, V64:$src)
20159      AsmString = "mov	$\xFF\x01\x0C.8b, $\xFF\x02\x0C.8b";
20160      break;
20161    }
20162    return false;
20163  case AArch64::PRFB_D_PZI:
20164    if (MI->getNumOperands() == 4 &&
20165        MI->getOperand(1).isReg() &&
20166        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20167        MI->getOperand(2).isReg() &&
20168        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20169        MI->getOperand(3).isImm() &&
20170        MI->getOperand(3).getImm() == 0 &&
20171        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20172      // (PRFB_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0)
20173      AsmString = "prfb	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]";
20174      break;
20175    }
20176    return false;
20177  case AArch64::PRFB_PRI:
20178    if (MI->getNumOperands() == 4 &&
20179        MI->getOperand(1).isReg() &&
20180        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20181        MI->getOperand(2).isReg() &&
20182        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20183        MI->getOperand(3).isImm() &&
20184        MI->getOperand(3).getImm() == 0 &&
20185        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20186      // (PRFB_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
20187      AsmString = "prfb	$\xFF\x01\x32, $\xFF\x02\x07, [$\x03]";
20188      break;
20189    }
20190    return false;
20191  case AArch64::PRFB_S_PZI:
20192    if (MI->getNumOperands() == 4 &&
20193        MI->getOperand(1).isReg() &&
20194        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20195        MI->getOperand(2).isReg() &&
20196        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20197        MI->getOperand(3).isImm() &&
20198        MI->getOperand(3).getImm() == 0 &&
20199        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20200      // (PRFB_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0)
20201      AsmString = "prfb	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]";
20202      break;
20203    }
20204    return false;
20205  case AArch64::PRFD_D_PZI:
20206    if (MI->getNumOperands() == 4 &&
20207        MI->getOperand(1).isReg() &&
20208        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20209        MI->getOperand(2).isReg() &&
20210        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20211        MI->getOperand(3).isImm() &&
20212        MI->getOperand(3).getImm() == 0 &&
20213        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20214      // (PRFD_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0)
20215      AsmString = "prfd	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]";
20216      break;
20217    }
20218    return false;
20219  case AArch64::PRFD_PRI:
20220    if (MI->getNumOperands() == 4 &&
20221        MI->getOperand(1).isReg() &&
20222        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20223        MI->getOperand(2).isReg() &&
20224        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20225        MI->getOperand(3).isImm() &&
20226        MI->getOperand(3).getImm() == 0 &&
20227        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20228      // (PRFD_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
20229      AsmString = "prfd	$\xFF\x01\x32, $\xFF\x02\x07, [$\x03]";
20230      break;
20231    }
20232    return false;
20233  case AArch64::PRFD_S_PZI:
20234    if (MI->getNumOperands() == 4 &&
20235        MI->getOperand(1).isReg() &&
20236        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20237        MI->getOperand(2).isReg() &&
20238        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20239        MI->getOperand(3).isImm() &&
20240        MI->getOperand(3).getImm() == 0 &&
20241        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20242      // (PRFD_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0)
20243      AsmString = "prfd	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]";
20244      break;
20245    }
20246    return false;
20247  case AArch64::PRFH_D_PZI:
20248    if (MI->getNumOperands() == 4 &&
20249        MI->getOperand(1).isReg() &&
20250        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20251        MI->getOperand(2).isReg() &&
20252        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20253        MI->getOperand(3).isImm() &&
20254        MI->getOperand(3).getImm() == 0 &&
20255        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20256      // (PRFH_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0)
20257      AsmString = "prfh	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]";
20258      break;
20259    }
20260    return false;
20261  case AArch64::PRFH_PRI:
20262    if (MI->getNumOperands() == 4 &&
20263        MI->getOperand(1).isReg() &&
20264        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20265        MI->getOperand(2).isReg() &&
20266        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20267        MI->getOperand(3).isImm() &&
20268        MI->getOperand(3).getImm() == 0 &&
20269        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20270      // (PRFH_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
20271      AsmString = "prfh	$\xFF\x01\x32, $\xFF\x02\x07, [$\x03]";
20272      break;
20273    }
20274    return false;
20275  case AArch64::PRFH_S_PZI:
20276    if (MI->getNumOperands() == 4 &&
20277        MI->getOperand(1).isReg() &&
20278        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20279        MI->getOperand(2).isReg() &&
20280        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20281        MI->getOperand(3).isImm() &&
20282        MI->getOperand(3).getImm() == 0 &&
20283        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20284      // (PRFH_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0)
20285      AsmString = "prfh	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]";
20286      break;
20287    }
20288    return false;
20289  case AArch64::PRFMroX:
20290    if (MI->getNumOperands() == 5 &&
20291        MI->getOperand(1).isReg() &&
20292        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20293        MI->getOperand(2).isReg() &&
20294        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20295        MI->getOperand(3).isImm() &&
20296        MI->getOperand(3).getImm() == 0 &&
20297        MI->getOperand(4).isImm() &&
20298        MI->getOperand(4).getImm() == 0) {
20299      // (PRFMroX prfop:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
20300      AsmString = "prfm $\xFF\x01\x33, [$\x02, $\x03]";
20301      break;
20302    }
20303    return false;
20304  case AArch64::PRFMui:
20305    if (MI->getNumOperands() == 3 &&
20306        MI->getOperand(1).isReg() &&
20307        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20308        MI->getOperand(2).isImm() &&
20309        MI->getOperand(2).getImm() == 0) {
20310      // (PRFMui prfop:$Rt, GPR64sp:$Rn, 0)
20311      AsmString = "prfm $\xFF\x01\x33, [$\x02]";
20312      break;
20313    }
20314    return false;
20315  case AArch64::PRFUMi:
20316    if (MI->getNumOperands() == 3 &&
20317        MI->getOperand(1).isReg() &&
20318        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20319        MI->getOperand(2).isImm() &&
20320        MI->getOperand(2).getImm() == 0) {
20321      // (PRFUMi prfop:$Rt, GPR64sp:$Rn, 0)
20322      AsmString = "prfum	$\xFF\x01\x33, [$\x02]";
20323      break;
20324    }
20325    return false;
20326  case AArch64::PRFW_D_PZI:
20327    if (MI->getNumOperands() == 4 &&
20328        MI->getOperand(1).isReg() &&
20329        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20330        MI->getOperand(2).isReg() &&
20331        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20332        MI->getOperand(3).isImm() &&
20333        MI->getOperand(3).getImm() == 0 &&
20334        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20335      // (PRFW_D_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR64:$Zn, 0)
20336      AsmString = "prfw	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x10]";
20337      break;
20338    }
20339    return false;
20340  case AArch64::PRFW_PRI:
20341    if (MI->getNumOperands() == 4 &&
20342        MI->getOperand(1).isReg() &&
20343        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20344        MI->getOperand(2).isReg() &&
20345        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20346        MI->getOperand(3).isImm() &&
20347        MI->getOperand(3).getImm() == 0 &&
20348        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20349      // (PRFW_PRI sve_prfop:$prfop, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
20350      AsmString = "prfw	$\xFF\x01\x32, $\xFF\x02\x07, [$\x03]";
20351      break;
20352    }
20353    return false;
20354  case AArch64::PRFW_S_PZI:
20355    if (MI->getNumOperands() == 4 &&
20356        MI->getOperand(1).isReg() &&
20357        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20358        MI->getOperand(2).isReg() &&
20359        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20360        MI->getOperand(3).isImm() &&
20361        MI->getOperand(3).getImm() == 0 &&
20362        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20363      // (PRFW_S_PZI sve_prfop:$prfop, PPR3bAny:$Pg, ZPR32:$Zn, 0)
20364      AsmString = "prfw	$\xFF\x01\x32, $\xFF\x02\x07, [$\xFF\x03\x0B]";
20365      break;
20366    }
20367    return false;
20368  case AArch64::PTRUES_B:
20369    if (MI->getNumOperands() == 2 &&
20370        MI->getOperand(0).isReg() &&
20371        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20372        MI->getOperand(1).isImm() &&
20373        MI->getOperand(1).getImm() == 31 &&
20374        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20375      // (PTRUES_B PPR8:$Pd, { 1, 1, 1, 1, 1 })
20376      AsmString = "ptrues	$\xFF\x01\x06";
20377      break;
20378    }
20379    return false;
20380  case AArch64::PTRUES_D:
20381    if (MI->getNumOperands() == 2 &&
20382        MI->getOperand(0).isReg() &&
20383        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20384        MI->getOperand(1).isImm() &&
20385        MI->getOperand(1).getImm() == 31 &&
20386        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20387      // (PTRUES_D PPR64:$Pd, { 1, 1, 1, 1, 1 })
20388      AsmString = "ptrues	$\xFF\x01\x10";
20389      break;
20390    }
20391    return false;
20392  case AArch64::PTRUES_H:
20393    if (MI->getNumOperands() == 2 &&
20394        MI->getOperand(0).isReg() &&
20395        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20396        MI->getOperand(1).isImm() &&
20397        MI->getOperand(1).getImm() == 31 &&
20398        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20399      // (PTRUES_H PPR16:$Pd, { 1, 1, 1, 1, 1 })
20400      AsmString = "ptrues	$\xFF\x01\x09";
20401      break;
20402    }
20403    return false;
20404  case AArch64::PTRUES_S:
20405    if (MI->getNumOperands() == 2 &&
20406        MI->getOperand(0).isReg() &&
20407        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20408        MI->getOperand(1).isImm() &&
20409        MI->getOperand(1).getImm() == 31 &&
20410        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20411      // (PTRUES_S PPR32:$Pd, { 1, 1, 1, 1, 1 })
20412      AsmString = "ptrues	$\xFF\x01\x0B";
20413      break;
20414    }
20415    return false;
20416  case AArch64::PTRUE_B:
20417    if (MI->getNumOperands() == 2 &&
20418        MI->getOperand(0).isReg() &&
20419        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20420        MI->getOperand(1).isImm() &&
20421        MI->getOperand(1).getImm() == 31 &&
20422        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20423      // (PTRUE_B PPR8:$Pd, { 1, 1, 1, 1, 1 })
20424      AsmString = "ptrue	$\xFF\x01\x06";
20425      break;
20426    }
20427    return false;
20428  case AArch64::PTRUE_D:
20429    if (MI->getNumOperands() == 2 &&
20430        MI->getOperand(0).isReg() &&
20431        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20432        MI->getOperand(1).isImm() &&
20433        MI->getOperand(1).getImm() == 31 &&
20434        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20435      // (PTRUE_D PPR64:$Pd, { 1, 1, 1, 1, 1 })
20436      AsmString = "ptrue	$\xFF\x01\x10";
20437      break;
20438    }
20439    return false;
20440  case AArch64::PTRUE_H:
20441    if (MI->getNumOperands() == 2 &&
20442        MI->getOperand(0).isReg() &&
20443        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20444        MI->getOperand(1).isImm() &&
20445        MI->getOperand(1).getImm() == 31 &&
20446        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20447      // (PTRUE_H PPR16:$Pd, { 1, 1, 1, 1, 1 })
20448      AsmString = "ptrue	$\xFF\x01\x09";
20449      break;
20450    }
20451    return false;
20452  case AArch64::PTRUE_S:
20453    if (MI->getNumOperands() == 2 &&
20454        MI->getOperand(0).isReg() &&
20455        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20456        MI->getOperand(1).isImm() &&
20457        MI->getOperand(1).getImm() == 31 &&
20458        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20459      // (PTRUE_S PPR32:$Pd, { 1, 1, 1, 1, 1 })
20460      AsmString = "ptrue	$\xFF\x01\x0B";
20461      break;
20462    }
20463    return false;
20464  case AArch64::RET:
20465    if (MI->getNumOperands() == 1 &&
20466        MI->getOperand(0).getReg() == AArch64::LR) {
20467      // (RET LR)
20468      AsmString = "ret";
20469      break;
20470    }
20471    return false;
20472  case AArch64::SBCSWr:
20473    if (MI->getNumOperands() == 3 &&
20474        MI->getOperand(0).isReg() &&
20475        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20476        MI->getOperand(1).getReg() == AArch64::WZR &&
20477        MI->getOperand(2).isReg() &&
20478        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
20479      // (SBCSWr GPR32:$dst, WZR, GPR32:$src)
20480      AsmString = "ngcs $\x01, $\x03";
20481      break;
20482    }
20483    return false;
20484  case AArch64::SBCSXr:
20485    if (MI->getNumOperands() == 3 &&
20486        MI->getOperand(0).isReg() &&
20487        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20488        MI->getOperand(1).getReg() == AArch64::XZR &&
20489        MI->getOperand(2).isReg() &&
20490        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
20491      // (SBCSXr GPR64:$dst, XZR, GPR64:$src)
20492      AsmString = "ngcs $\x01, $\x03";
20493      break;
20494    }
20495    return false;
20496  case AArch64::SBCWr:
20497    if (MI->getNumOperands() == 3 &&
20498        MI->getOperand(0).isReg() &&
20499        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20500        MI->getOperand(1).getReg() == AArch64::WZR &&
20501        MI->getOperand(2).isReg() &&
20502        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
20503      // (SBCWr GPR32:$dst, WZR, GPR32:$src)
20504      AsmString = "ngc $\x01, $\x03";
20505      break;
20506    }
20507    return false;
20508  case AArch64::SBCXr:
20509    if (MI->getNumOperands() == 3 &&
20510        MI->getOperand(0).isReg() &&
20511        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20512        MI->getOperand(1).getReg() == AArch64::XZR &&
20513        MI->getOperand(2).isReg() &&
20514        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
20515      // (SBCXr GPR64:$dst, XZR, GPR64:$src)
20516      AsmString = "ngc $\x01, $\x03";
20517      break;
20518    }
20519    return false;
20520  case AArch64::SBFMWri:
20521    if (MI->getNumOperands() == 4 &&
20522        MI->getOperand(0).isReg() &&
20523        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20524        MI->getOperand(1).isReg() &&
20525        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20526        MI->getOperand(3).isImm() &&
20527        MI->getOperand(3).getImm() == 31) {
20528      // (SBFMWri GPR32:$dst, GPR32:$src, imm0_31:$shift, 31)
20529      AsmString = "asr $\x01, $\x02, $\x03";
20530      break;
20531    }
20532    if (MI->getNumOperands() == 4 &&
20533        MI->getOperand(0).isReg() &&
20534        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20535        MI->getOperand(1).isReg() &&
20536        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20537        MI->getOperand(2).isImm() &&
20538        MI->getOperand(2).getImm() == 0 &&
20539        MI->getOperand(3).isImm() &&
20540        MI->getOperand(3).getImm() == 7) {
20541      // (SBFMWri GPR32:$dst, GPR32:$src, 0, 7)
20542      AsmString = "sxtb $\x01, $\x02";
20543      break;
20544    }
20545    if (MI->getNumOperands() == 4 &&
20546        MI->getOperand(0).isReg() &&
20547        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20548        MI->getOperand(1).isReg() &&
20549        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20550        MI->getOperand(2).isImm() &&
20551        MI->getOperand(2).getImm() == 0 &&
20552        MI->getOperand(3).isImm() &&
20553        MI->getOperand(3).getImm() == 15) {
20554      // (SBFMWri GPR32:$dst, GPR32:$src, 0, 15)
20555      AsmString = "sxth $\x01, $\x02";
20556      break;
20557    }
20558    return false;
20559  case AArch64::SBFMXri:
20560    if (MI->getNumOperands() == 4 &&
20561        MI->getOperand(0).isReg() &&
20562        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20563        MI->getOperand(1).isReg() &&
20564        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20565        MI->getOperand(3).isImm() &&
20566        MI->getOperand(3).getImm() == 63) {
20567      // (SBFMXri GPR64:$dst, GPR64:$src, imm0_63:$shift, 63)
20568      AsmString = "asr $\x01, $\x02, $\x03";
20569      break;
20570    }
20571    if (MI->getNumOperands() == 4 &&
20572        MI->getOperand(0).isReg() &&
20573        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20574        MI->getOperand(1).isReg() &&
20575        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20576        MI->getOperand(2).isImm() &&
20577        MI->getOperand(2).getImm() == 0 &&
20578        MI->getOperand(3).isImm() &&
20579        MI->getOperand(3).getImm() == 7) {
20580      // (SBFMXri GPR64:$dst, GPR64:$src, 0, 7)
20581      AsmString = "sxtb $\x01, $\x02";
20582      break;
20583    }
20584    if (MI->getNumOperands() == 4 &&
20585        MI->getOperand(0).isReg() &&
20586        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20587        MI->getOperand(1).isReg() &&
20588        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20589        MI->getOperand(2).isImm() &&
20590        MI->getOperand(2).getImm() == 0 &&
20591        MI->getOperand(3).isImm() &&
20592        MI->getOperand(3).getImm() == 15) {
20593      // (SBFMXri GPR64:$dst, GPR64:$src, 0, 15)
20594      AsmString = "sxth $\x01, $\x02";
20595      break;
20596    }
20597    if (MI->getNumOperands() == 4 &&
20598        MI->getOperand(0).isReg() &&
20599        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20600        MI->getOperand(1).isReg() &&
20601        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20602        MI->getOperand(2).isImm() &&
20603        MI->getOperand(2).getImm() == 0 &&
20604        MI->getOperand(3).isImm() &&
20605        MI->getOperand(3).getImm() == 31) {
20606      // (SBFMXri GPR64:$dst, GPR64:$src, 0, 31)
20607      AsmString = "sxtw $\x01, $\x02";
20608      break;
20609    }
20610    return false;
20611  case AArch64::SEL_PPPP:
20612    if (MI->getNumOperands() == 4 &&
20613        MI->getOperand(0).isReg() &&
20614        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20615        MI->getOperand(1).isReg() &&
20616        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20617        MI->getOperand(2).isReg() &&
20618        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20619        MI->getOperand(3).isReg() &&
20620        MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
20621        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20622      // (SEL_PPPP PPR8:$Pd, PPRAny:$Pg, PPR8:$Pn, PPR8:$Pd)
20623      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/m, $\xFF\x03\x06";
20624      break;
20625    }
20626    return false;
20627  case AArch64::SEL_ZPZZ_B:
20628    if (MI->getNumOperands() == 4 &&
20629        MI->getOperand(0).isReg() &&
20630        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20631        MI->getOperand(1).isReg() &&
20632        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20633        MI->getOperand(2).isReg() &&
20634        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20635        MI->getOperand(3).isReg() &&
20636        MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
20637        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20638      // (SEL_ZPZZ_B ZPR8:$Zd, PPRAny:$Pg, ZPR8:$Zn, ZPR8:$Zd)
20639      AsmString = "mov $\xFF\x01\x06, $\xFF\x02\x07/m, $\xFF\x03\x06";
20640      break;
20641    }
20642    return false;
20643  case AArch64::SEL_ZPZZ_D:
20644    if (MI->getNumOperands() == 4 &&
20645        MI->getOperand(0).isReg() &&
20646        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20647        MI->getOperand(1).isReg() &&
20648        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20649        MI->getOperand(2).isReg() &&
20650        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20651        MI->getOperand(3).isReg() &&
20652        MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
20653        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20654      // (SEL_ZPZZ_D ZPR64:$Zd, PPRAny:$Pg, ZPR64:$Zn, ZPR64:$Zd)
20655      AsmString = "mov $\xFF\x01\x10, $\xFF\x02\x07/m, $\xFF\x03\x10";
20656      break;
20657    }
20658    return false;
20659  case AArch64::SEL_ZPZZ_H:
20660    if (MI->getNumOperands() == 4 &&
20661        MI->getOperand(0).isReg() &&
20662        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20663        MI->getOperand(1).isReg() &&
20664        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20665        MI->getOperand(2).isReg() &&
20666        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20667        MI->getOperand(3).isReg() &&
20668        MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
20669        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20670      // (SEL_ZPZZ_H ZPR16:$Zd, PPRAny:$Pg, ZPR16:$Zn, ZPR16:$Zd)
20671      AsmString = "mov $\xFF\x01\x09, $\xFF\x02\x07/m, $\xFF\x03\x09";
20672      break;
20673    }
20674    return false;
20675  case AArch64::SEL_ZPZZ_S:
20676    if (MI->getNumOperands() == 4 &&
20677        MI->getOperand(0).isReg() &&
20678        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20679        MI->getOperand(1).isReg() &&
20680        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
20681        MI->getOperand(2).isReg() &&
20682        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20683        MI->getOperand(3).isReg() &&
20684        MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
20685        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20686      // (SEL_ZPZZ_S ZPR32:$Zd, PPRAny:$Pg, ZPR32:$Zn, ZPR32:$Zd)
20687      AsmString = "mov $\xFF\x01\x0B, $\xFF\x02\x07/m, $\xFF\x03\x0B";
20688      break;
20689    }
20690    return false;
20691  case AArch64::SMADDLrrr:
20692    if (MI->getNumOperands() == 4 &&
20693        MI->getOperand(0).isReg() &&
20694        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20695        MI->getOperand(1).isReg() &&
20696        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20697        MI->getOperand(2).isReg() &&
20698        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
20699        MI->getOperand(3).getReg() == AArch64::XZR) {
20700      // (SMADDLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
20701      AsmString = "smull	$\x01, $\x02, $\x03";
20702      break;
20703    }
20704    return false;
20705  case AArch64::SMSUBLrrr:
20706    if (MI->getNumOperands() == 4 &&
20707        MI->getOperand(0).isReg() &&
20708        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20709        MI->getOperand(1).isReg() &&
20710        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20711        MI->getOperand(2).isReg() &&
20712        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
20713        MI->getOperand(3).getReg() == AArch64::XZR) {
20714      // (SMSUBLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
20715      AsmString = "smnegl	$\x01, $\x02, $\x03";
20716      break;
20717    }
20718    return false;
20719  case AArch64::SQDECB_XPiI:
20720    if (MI->getNumOperands() == 4 &&
20721        MI->getOperand(0).isReg() &&
20722        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20723        MI->getOperand(2).isImm() &&
20724        MI->getOperand(2).getImm() == 31 &&
20725        MI->getOperand(3).isImm() &&
20726        MI->getOperand(3).getImm() == 1 &&
20727        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20728      // (SQDECB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
20729      AsmString = "sqdecb	$\x01";
20730      break;
20731    }
20732    if (MI->getNumOperands() == 4 &&
20733        MI->getOperand(0).isReg() &&
20734        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20735        MI->getOperand(3).isImm() &&
20736        MI->getOperand(3).getImm() == 1 &&
20737        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20738      // (SQDECB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
20739      AsmString = "sqdecb	$\x01, $\xFF\x03\x0E";
20740      break;
20741    }
20742    return false;
20743  case AArch64::SQDECB_XPiWdI:
20744    if (MI->getNumOperands() == 4 &&
20745        MI->getOperand(0).isReg() &&
20746        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20747        MI->getOperand(1).isReg() &&
20748        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20749        MI->getOperand(2).isImm() &&
20750        MI->getOperand(2).getImm() == 31 &&
20751        MI->getOperand(3).isImm() &&
20752        MI->getOperand(3).getImm() == 1 &&
20753        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20754      // (SQDECB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
20755      AsmString = "sqdecb	$\x01, $\xFF\x02\x34";
20756      break;
20757    }
20758    if (MI->getNumOperands() == 4 &&
20759        MI->getOperand(0).isReg() &&
20760        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20761        MI->getOperand(1).isReg() &&
20762        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20763        MI->getOperand(3).isImm() &&
20764        MI->getOperand(3).getImm() == 1 &&
20765        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20766      // (SQDECB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
20767      AsmString = "sqdecb	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
20768      break;
20769    }
20770    return false;
20771  case AArch64::SQDECD_XPiI:
20772    if (MI->getNumOperands() == 4 &&
20773        MI->getOperand(0).isReg() &&
20774        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20775        MI->getOperand(2).isImm() &&
20776        MI->getOperand(2).getImm() == 31 &&
20777        MI->getOperand(3).isImm() &&
20778        MI->getOperand(3).getImm() == 1 &&
20779        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20780      // (SQDECD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
20781      AsmString = "sqdecd	$\x01";
20782      break;
20783    }
20784    if (MI->getNumOperands() == 4 &&
20785        MI->getOperand(0).isReg() &&
20786        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20787        MI->getOperand(3).isImm() &&
20788        MI->getOperand(3).getImm() == 1 &&
20789        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20790      // (SQDECD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
20791      AsmString = "sqdecd	$\x01, $\xFF\x03\x0E";
20792      break;
20793    }
20794    return false;
20795  case AArch64::SQDECD_XPiWdI:
20796    if (MI->getNumOperands() == 4 &&
20797        MI->getOperand(0).isReg() &&
20798        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20799        MI->getOperand(1).isReg() &&
20800        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20801        MI->getOperand(2).isImm() &&
20802        MI->getOperand(2).getImm() == 31 &&
20803        MI->getOperand(3).isImm() &&
20804        MI->getOperand(3).getImm() == 1 &&
20805        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20806      // (SQDECD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
20807      AsmString = "sqdecd	$\x01, $\xFF\x02\x34";
20808      break;
20809    }
20810    if (MI->getNumOperands() == 4 &&
20811        MI->getOperand(0).isReg() &&
20812        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20813        MI->getOperand(1).isReg() &&
20814        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20815        MI->getOperand(3).isImm() &&
20816        MI->getOperand(3).getImm() == 1 &&
20817        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20818      // (SQDECD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
20819      AsmString = "sqdecd	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
20820      break;
20821    }
20822    return false;
20823  case AArch64::SQDECD_ZPiI:
20824    if (MI->getNumOperands() == 4 &&
20825        MI->getOperand(0).isReg() &&
20826        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20827        MI->getOperand(2).isImm() &&
20828        MI->getOperand(2).getImm() == 31 &&
20829        MI->getOperand(3).isImm() &&
20830        MI->getOperand(3).getImm() == 1 &&
20831        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20832      // (SQDECD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1)
20833      AsmString = "sqdecd	$\xFF\x01\x10";
20834      break;
20835    }
20836    if (MI->getNumOperands() == 4 &&
20837        MI->getOperand(0).isReg() &&
20838        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20839        MI->getOperand(3).isImm() &&
20840        MI->getOperand(3).getImm() == 1 &&
20841        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20842      // (SQDECD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1)
20843      AsmString = "sqdecd	$\xFF\x01\x10, $\xFF\x03\x0E";
20844      break;
20845    }
20846    return false;
20847  case AArch64::SQDECH_XPiI:
20848    if (MI->getNumOperands() == 4 &&
20849        MI->getOperand(0).isReg() &&
20850        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20851        MI->getOperand(2).isImm() &&
20852        MI->getOperand(2).getImm() == 31 &&
20853        MI->getOperand(3).isImm() &&
20854        MI->getOperand(3).getImm() == 1 &&
20855        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20856      // (SQDECH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
20857      AsmString = "sqdech	$\x01";
20858      break;
20859    }
20860    if (MI->getNumOperands() == 4 &&
20861        MI->getOperand(0).isReg() &&
20862        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20863        MI->getOperand(3).isImm() &&
20864        MI->getOperand(3).getImm() == 1 &&
20865        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20866      // (SQDECH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
20867      AsmString = "sqdech	$\x01, $\xFF\x03\x0E";
20868      break;
20869    }
20870    return false;
20871  case AArch64::SQDECH_XPiWdI:
20872    if (MI->getNumOperands() == 4 &&
20873        MI->getOperand(0).isReg() &&
20874        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20875        MI->getOperand(1).isReg() &&
20876        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20877        MI->getOperand(2).isImm() &&
20878        MI->getOperand(2).getImm() == 31 &&
20879        MI->getOperand(3).isImm() &&
20880        MI->getOperand(3).getImm() == 1 &&
20881        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20882      // (SQDECH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
20883      AsmString = "sqdech	$\x01, $\xFF\x02\x34";
20884      break;
20885    }
20886    if (MI->getNumOperands() == 4 &&
20887        MI->getOperand(0).isReg() &&
20888        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20889        MI->getOperand(1).isReg() &&
20890        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20891        MI->getOperand(3).isImm() &&
20892        MI->getOperand(3).getImm() == 1 &&
20893        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20894      // (SQDECH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
20895      AsmString = "sqdech	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
20896      break;
20897    }
20898    return false;
20899  case AArch64::SQDECH_ZPiI:
20900    if (MI->getNumOperands() == 4 &&
20901        MI->getOperand(0).isReg() &&
20902        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20903        MI->getOperand(2).isImm() &&
20904        MI->getOperand(2).getImm() == 31 &&
20905        MI->getOperand(3).isImm() &&
20906        MI->getOperand(3).getImm() == 1 &&
20907        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20908      // (SQDECH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1)
20909      AsmString = "sqdech	$\xFF\x01\x09";
20910      break;
20911    }
20912    if (MI->getNumOperands() == 4 &&
20913        MI->getOperand(0).isReg() &&
20914        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20915        MI->getOperand(3).isImm() &&
20916        MI->getOperand(3).getImm() == 1 &&
20917        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20918      // (SQDECH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1)
20919      AsmString = "sqdech	$\xFF\x01\x09, $\xFF\x03\x0E";
20920      break;
20921    }
20922    return false;
20923  case AArch64::SQDECW_XPiI:
20924    if (MI->getNumOperands() == 4 &&
20925        MI->getOperand(0).isReg() &&
20926        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20927        MI->getOperand(2).isImm() &&
20928        MI->getOperand(2).getImm() == 31 &&
20929        MI->getOperand(3).isImm() &&
20930        MI->getOperand(3).getImm() == 1 &&
20931        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20932      // (SQDECW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
20933      AsmString = "sqdecw	$\x01";
20934      break;
20935    }
20936    if (MI->getNumOperands() == 4 &&
20937        MI->getOperand(0).isReg() &&
20938        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20939        MI->getOperand(3).isImm() &&
20940        MI->getOperand(3).getImm() == 1 &&
20941        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20942      // (SQDECW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
20943      AsmString = "sqdecw	$\x01, $\xFF\x03\x0E";
20944      break;
20945    }
20946    return false;
20947  case AArch64::SQDECW_XPiWdI:
20948    if (MI->getNumOperands() == 4 &&
20949        MI->getOperand(0).isReg() &&
20950        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20951        MI->getOperand(1).isReg() &&
20952        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20953        MI->getOperand(2).isImm() &&
20954        MI->getOperand(2).getImm() == 31 &&
20955        MI->getOperand(3).isImm() &&
20956        MI->getOperand(3).getImm() == 1 &&
20957        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20958      // (SQDECW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
20959      AsmString = "sqdecw	$\x01, $\xFF\x02\x34";
20960      break;
20961    }
20962    if (MI->getNumOperands() == 4 &&
20963        MI->getOperand(0).isReg() &&
20964        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20965        MI->getOperand(1).isReg() &&
20966        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20967        MI->getOperand(3).isImm() &&
20968        MI->getOperand(3).getImm() == 1 &&
20969        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20970      // (SQDECW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
20971      AsmString = "sqdecw	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
20972      break;
20973    }
20974    return false;
20975  case AArch64::SQDECW_ZPiI:
20976    if (MI->getNumOperands() == 4 &&
20977        MI->getOperand(0).isReg() &&
20978        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20979        MI->getOperand(2).isImm() &&
20980        MI->getOperand(2).getImm() == 31 &&
20981        MI->getOperand(3).isImm() &&
20982        MI->getOperand(3).getImm() == 1 &&
20983        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20984      // (SQDECW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1)
20985      AsmString = "sqdecw	$\xFF\x01\x0B";
20986      break;
20987    }
20988    if (MI->getNumOperands() == 4 &&
20989        MI->getOperand(0).isReg() &&
20990        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20991        MI->getOperand(3).isImm() &&
20992        MI->getOperand(3).getImm() == 1 &&
20993        STI.getFeatureBits()[AArch64::FeatureSVE]) {
20994      // (SQDECW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1)
20995      AsmString = "sqdecw	$\xFF\x01\x0B, $\xFF\x03\x0E";
20996      break;
20997    }
20998    return false;
20999  case AArch64::SQINCB_XPiI:
21000    if (MI->getNumOperands() == 4 &&
21001        MI->getOperand(0).isReg() &&
21002        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21003        MI->getOperand(2).isImm() &&
21004        MI->getOperand(2).getImm() == 31 &&
21005        MI->getOperand(3).isImm() &&
21006        MI->getOperand(3).getImm() == 1 &&
21007        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21008      // (SQINCB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
21009      AsmString = "sqincb	$\x01";
21010      break;
21011    }
21012    if (MI->getNumOperands() == 4 &&
21013        MI->getOperand(0).isReg() &&
21014        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21015        MI->getOperand(3).isImm() &&
21016        MI->getOperand(3).getImm() == 1 &&
21017        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21018      // (SQINCB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
21019      AsmString = "sqincb	$\x01, $\xFF\x03\x0E";
21020      break;
21021    }
21022    return false;
21023  case AArch64::SQINCB_XPiWdI:
21024    if (MI->getNumOperands() == 4 &&
21025        MI->getOperand(0).isReg() &&
21026        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21027        MI->getOperand(1).isReg() &&
21028        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21029        MI->getOperand(2).isImm() &&
21030        MI->getOperand(2).getImm() == 31 &&
21031        MI->getOperand(3).isImm() &&
21032        MI->getOperand(3).getImm() == 1 &&
21033        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21034      // (SQINCB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
21035      AsmString = "sqincb	$\x01, $\xFF\x02\x34";
21036      break;
21037    }
21038    if (MI->getNumOperands() == 4 &&
21039        MI->getOperand(0).isReg() &&
21040        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21041        MI->getOperand(1).isReg() &&
21042        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21043        MI->getOperand(3).isImm() &&
21044        MI->getOperand(3).getImm() == 1 &&
21045        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21046      // (SQINCB_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
21047      AsmString = "sqincb	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
21048      break;
21049    }
21050    return false;
21051  case AArch64::SQINCD_XPiI:
21052    if (MI->getNumOperands() == 4 &&
21053        MI->getOperand(0).isReg() &&
21054        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21055        MI->getOperand(2).isImm() &&
21056        MI->getOperand(2).getImm() == 31 &&
21057        MI->getOperand(3).isImm() &&
21058        MI->getOperand(3).getImm() == 1 &&
21059        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21060      // (SQINCD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
21061      AsmString = "sqincd	$\x01";
21062      break;
21063    }
21064    if (MI->getNumOperands() == 4 &&
21065        MI->getOperand(0).isReg() &&
21066        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21067        MI->getOperand(3).isImm() &&
21068        MI->getOperand(3).getImm() == 1 &&
21069        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21070      // (SQINCD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
21071      AsmString = "sqincd	$\x01, $\xFF\x03\x0E";
21072      break;
21073    }
21074    return false;
21075  case AArch64::SQINCD_XPiWdI:
21076    if (MI->getNumOperands() == 4 &&
21077        MI->getOperand(0).isReg() &&
21078        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21079        MI->getOperand(1).isReg() &&
21080        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21081        MI->getOperand(2).isImm() &&
21082        MI->getOperand(2).getImm() == 31 &&
21083        MI->getOperand(3).isImm() &&
21084        MI->getOperand(3).getImm() == 1 &&
21085        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21086      // (SQINCD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
21087      AsmString = "sqincd	$\x01, $\xFF\x02\x34";
21088      break;
21089    }
21090    if (MI->getNumOperands() == 4 &&
21091        MI->getOperand(0).isReg() &&
21092        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21093        MI->getOperand(1).isReg() &&
21094        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21095        MI->getOperand(3).isImm() &&
21096        MI->getOperand(3).getImm() == 1 &&
21097        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21098      // (SQINCD_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
21099      AsmString = "sqincd	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
21100      break;
21101    }
21102    return false;
21103  case AArch64::SQINCD_ZPiI:
21104    if (MI->getNumOperands() == 4 &&
21105        MI->getOperand(0).isReg() &&
21106        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21107        MI->getOperand(2).isImm() &&
21108        MI->getOperand(2).getImm() == 31 &&
21109        MI->getOperand(3).isImm() &&
21110        MI->getOperand(3).getImm() == 1 &&
21111        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21112      // (SQINCD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1)
21113      AsmString = "sqincd	$\xFF\x01\x10";
21114      break;
21115    }
21116    if (MI->getNumOperands() == 4 &&
21117        MI->getOperand(0).isReg() &&
21118        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21119        MI->getOperand(3).isImm() &&
21120        MI->getOperand(3).getImm() == 1 &&
21121        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21122      // (SQINCD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1)
21123      AsmString = "sqincd	$\xFF\x01\x10, $\xFF\x03\x0E";
21124      break;
21125    }
21126    return false;
21127  case AArch64::SQINCH_XPiI:
21128    if (MI->getNumOperands() == 4 &&
21129        MI->getOperand(0).isReg() &&
21130        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21131        MI->getOperand(2).isImm() &&
21132        MI->getOperand(2).getImm() == 31 &&
21133        MI->getOperand(3).isImm() &&
21134        MI->getOperand(3).getImm() == 1 &&
21135        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21136      // (SQINCH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
21137      AsmString = "sqinch	$\x01";
21138      break;
21139    }
21140    if (MI->getNumOperands() == 4 &&
21141        MI->getOperand(0).isReg() &&
21142        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21143        MI->getOperand(3).isImm() &&
21144        MI->getOperand(3).getImm() == 1 &&
21145        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21146      // (SQINCH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
21147      AsmString = "sqinch	$\x01, $\xFF\x03\x0E";
21148      break;
21149    }
21150    return false;
21151  case AArch64::SQINCH_XPiWdI:
21152    if (MI->getNumOperands() == 4 &&
21153        MI->getOperand(0).isReg() &&
21154        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21155        MI->getOperand(1).isReg() &&
21156        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21157        MI->getOperand(2).isImm() &&
21158        MI->getOperand(2).getImm() == 31 &&
21159        MI->getOperand(3).isImm() &&
21160        MI->getOperand(3).getImm() == 1 &&
21161        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21162      // (SQINCH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
21163      AsmString = "sqinch	$\x01, $\xFF\x02\x34";
21164      break;
21165    }
21166    if (MI->getNumOperands() == 4 &&
21167        MI->getOperand(0).isReg() &&
21168        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21169        MI->getOperand(1).isReg() &&
21170        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21171        MI->getOperand(3).isImm() &&
21172        MI->getOperand(3).getImm() == 1 &&
21173        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21174      // (SQINCH_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
21175      AsmString = "sqinch	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
21176      break;
21177    }
21178    return false;
21179  case AArch64::SQINCH_ZPiI:
21180    if (MI->getNumOperands() == 4 &&
21181        MI->getOperand(0).isReg() &&
21182        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21183        MI->getOperand(2).isImm() &&
21184        MI->getOperand(2).getImm() == 31 &&
21185        MI->getOperand(3).isImm() &&
21186        MI->getOperand(3).getImm() == 1 &&
21187        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21188      // (SQINCH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1)
21189      AsmString = "sqinch	$\xFF\x01\x09";
21190      break;
21191    }
21192    if (MI->getNumOperands() == 4 &&
21193        MI->getOperand(0).isReg() &&
21194        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21195        MI->getOperand(3).isImm() &&
21196        MI->getOperand(3).getImm() == 1 &&
21197        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21198      // (SQINCH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1)
21199      AsmString = "sqinch	$\xFF\x01\x09, $\xFF\x03\x0E";
21200      break;
21201    }
21202    return false;
21203  case AArch64::SQINCW_XPiI:
21204    if (MI->getNumOperands() == 4 &&
21205        MI->getOperand(0).isReg() &&
21206        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21207        MI->getOperand(2).isImm() &&
21208        MI->getOperand(2).getImm() == 31 &&
21209        MI->getOperand(3).isImm() &&
21210        MI->getOperand(3).getImm() == 1 &&
21211        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21212      // (SQINCW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
21213      AsmString = "sqincw	$\x01";
21214      break;
21215    }
21216    if (MI->getNumOperands() == 4 &&
21217        MI->getOperand(0).isReg() &&
21218        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21219        MI->getOperand(3).isImm() &&
21220        MI->getOperand(3).getImm() == 1 &&
21221        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21222      // (SQINCW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
21223      AsmString = "sqincw	$\x01, $\xFF\x03\x0E";
21224      break;
21225    }
21226    return false;
21227  case AArch64::SQINCW_XPiWdI:
21228    if (MI->getNumOperands() == 4 &&
21229        MI->getOperand(0).isReg() &&
21230        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21231        MI->getOperand(1).isReg() &&
21232        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21233        MI->getOperand(2).isImm() &&
21234        MI->getOperand(2).getImm() == 31 &&
21235        MI->getOperand(3).isImm() &&
21236        MI->getOperand(3).getImm() == 1 &&
21237        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21238      // (SQINCW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, { 1, 1, 1, 1, 1 }, 1)
21239      AsmString = "sqincw	$\x01, $\xFF\x02\x34";
21240      break;
21241    }
21242    if (MI->getNumOperands() == 4 &&
21243        MI->getOperand(0).isReg() &&
21244        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21245        MI->getOperand(1).isReg() &&
21246        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21247        MI->getOperand(3).isImm() &&
21248        MI->getOperand(3).getImm() == 1 &&
21249        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21250      // (SQINCW_XPiWdI GPR64z:$Rd, GPR64as32:$Rn, sve_pred_enum:$pattern, 1)
21251      AsmString = "sqincw	$\x01, $\xFF\x02\x34, $\xFF\x03\x0E";
21252      break;
21253    }
21254    return false;
21255  case AArch64::SQINCW_ZPiI:
21256    if (MI->getNumOperands() == 4 &&
21257        MI->getOperand(0).isReg() &&
21258        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21259        MI->getOperand(2).isImm() &&
21260        MI->getOperand(2).getImm() == 31 &&
21261        MI->getOperand(3).isImm() &&
21262        MI->getOperand(3).getImm() == 1 &&
21263        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21264      // (SQINCW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1)
21265      AsmString = "sqincw	$\xFF\x01\x0B";
21266      break;
21267    }
21268    if (MI->getNumOperands() == 4 &&
21269        MI->getOperand(0).isReg() &&
21270        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21271        MI->getOperand(3).isImm() &&
21272        MI->getOperand(3).getImm() == 1 &&
21273        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21274      // (SQINCW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1)
21275      AsmString = "sqincw	$\xFF\x01\x0B, $\xFF\x03\x0E";
21276      break;
21277    }
21278    return false;
21279  case AArch64::SST1B_D_IMM:
21280    if (MI->getNumOperands() == 4 &&
21281        MI->getOperand(0).isReg() &&
21282        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21283        MI->getOperand(1).isReg() &&
21284        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21285        MI->getOperand(2).isReg() &&
21286        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21287        MI->getOperand(3).isImm() &&
21288        MI->getOperand(3).getImm() == 0 &&
21289        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21290      // (SST1B_D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
21291      AsmString = "st1b	$\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]";
21292      break;
21293    }
21294    return false;
21295  case AArch64::SST1B_S_IMM:
21296    if (MI->getNumOperands() == 4 &&
21297        MI->getOperand(0).isReg() &&
21298        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21299        MI->getOperand(1).isReg() &&
21300        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21301        MI->getOperand(2).isReg() &&
21302        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21303        MI->getOperand(3).isImm() &&
21304        MI->getOperand(3).getImm() == 0 &&
21305        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21306      // (SST1B_S_IMM Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
21307      AsmString = "st1b	$\xFF\x01\x21, $\xFF\x02\x07, [$\xFF\x03\x0B]";
21308      break;
21309    }
21310    return false;
21311  case AArch64::SST1D_IMM:
21312    if (MI->getNumOperands() == 4 &&
21313        MI->getOperand(0).isReg() &&
21314        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21315        MI->getOperand(1).isReg() &&
21316        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21317        MI->getOperand(2).isReg() &&
21318        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21319        MI->getOperand(3).isImm() &&
21320        MI->getOperand(3).getImm() == 0 &&
21321        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21322      // (SST1D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
21323      AsmString = "st1d	$\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]";
21324      break;
21325    }
21326    return false;
21327  case AArch64::SST1H_D_IMM:
21328    if (MI->getNumOperands() == 4 &&
21329        MI->getOperand(0).isReg() &&
21330        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21331        MI->getOperand(1).isReg() &&
21332        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21333        MI->getOperand(2).isReg() &&
21334        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21335        MI->getOperand(3).isImm() &&
21336        MI->getOperand(3).getImm() == 0 &&
21337        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21338      // (SST1H_D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
21339      AsmString = "st1h	$\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]";
21340      break;
21341    }
21342    return false;
21343  case AArch64::SST1H_S_IMM:
21344    if (MI->getNumOperands() == 4 &&
21345        MI->getOperand(0).isReg() &&
21346        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21347        MI->getOperand(1).isReg() &&
21348        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21349        MI->getOperand(2).isReg() &&
21350        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21351        MI->getOperand(3).isImm() &&
21352        MI->getOperand(3).getImm() == 0 &&
21353        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21354      // (SST1H_S_IMM Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
21355      AsmString = "st1h	$\xFF\x01\x21, $\xFF\x02\x07, [$\xFF\x03\x0B]";
21356      break;
21357    }
21358    return false;
21359  case AArch64::SST1W_D_IMM:
21360    if (MI->getNumOperands() == 4 &&
21361        MI->getOperand(0).isReg() &&
21362        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21363        MI->getOperand(1).isReg() &&
21364        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21365        MI->getOperand(2).isReg() &&
21366        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21367        MI->getOperand(3).isImm() &&
21368        MI->getOperand(3).getImm() == 0 &&
21369        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21370      // (SST1W_D_IMM Z_d:$Zt, PPR3bAny:$Pg, ZPR64:$Zn, 0)
21371      AsmString = "st1w	$\xFF\x01\x20, $\xFF\x02\x07, [$\xFF\x03\x10]";
21372      break;
21373    }
21374    return false;
21375  case AArch64::SST1W_IMM:
21376    if (MI->getNumOperands() == 4 &&
21377        MI->getOperand(0).isReg() &&
21378        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21379        MI->getOperand(1).isReg() &&
21380        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21381        MI->getOperand(2).isReg() &&
21382        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21383        MI->getOperand(3).isImm() &&
21384        MI->getOperand(3).getImm() == 0 &&
21385        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21386      // (SST1W_IMM Z_s:$Zt, PPR3bAny:$Pg, ZPR32:$Zn, 0)
21387      AsmString = "st1w	$\xFF\x01\x21, $\xFF\x02\x07, [$\xFF\x03\x0B]";
21388      break;
21389    }
21390    return false;
21391  case AArch64::ST1B_D_IMM:
21392    if (MI->getNumOperands() == 4 &&
21393        MI->getOperand(0).isReg() &&
21394        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21395        MI->getOperand(1).isReg() &&
21396        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21397        MI->getOperand(2).isReg() &&
21398        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21399        MI->getOperand(3).isImm() &&
21400        MI->getOperand(3).getImm() == 0 &&
21401        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21402      // (ST1B_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21403      AsmString = "st1b	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
21404      break;
21405    }
21406    return false;
21407  case AArch64::ST1B_H_IMM:
21408    if (MI->getNumOperands() == 4 &&
21409        MI->getOperand(0).isReg() &&
21410        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21411        MI->getOperand(1).isReg() &&
21412        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21413        MI->getOperand(2).isReg() &&
21414        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21415        MI->getOperand(3).isImm() &&
21416        MI->getOperand(3).getImm() == 0 &&
21417        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21418      // (ST1B_H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21419      AsmString = "st1b	$\xFF\x01\x23, $\xFF\x02\x07, [$\x03]";
21420      break;
21421    }
21422    return false;
21423  case AArch64::ST1B_IMM:
21424    if (MI->getNumOperands() == 4 &&
21425        MI->getOperand(0).isReg() &&
21426        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21427        MI->getOperand(1).isReg() &&
21428        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21429        MI->getOperand(2).isReg() &&
21430        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21431        MI->getOperand(3).isImm() &&
21432        MI->getOperand(3).getImm() == 0 &&
21433        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21434      // (ST1B_IMM Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21435      AsmString = "st1b	$\xFF\x01\x24, $\xFF\x02\x07, [$\x03]";
21436      break;
21437    }
21438    return false;
21439  case AArch64::ST1B_S_IMM:
21440    if (MI->getNumOperands() == 4 &&
21441        MI->getOperand(0).isReg() &&
21442        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21443        MI->getOperand(1).isReg() &&
21444        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21445        MI->getOperand(2).isReg() &&
21446        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21447        MI->getOperand(3).isImm() &&
21448        MI->getOperand(3).getImm() == 0 &&
21449        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21450      // (ST1B_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21451      AsmString = "st1b	$\xFF\x01\x21, $\xFF\x02\x07, [$\x03]";
21452      break;
21453    }
21454    return false;
21455  case AArch64::ST1D_IMM:
21456    if (MI->getNumOperands() == 4 &&
21457        MI->getOperand(0).isReg() &&
21458        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21459        MI->getOperand(1).isReg() &&
21460        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21461        MI->getOperand(2).isReg() &&
21462        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21463        MI->getOperand(3).isImm() &&
21464        MI->getOperand(3).getImm() == 0 &&
21465        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21466      // (ST1D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21467      AsmString = "st1d	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
21468      break;
21469    }
21470    return false;
21471  case AArch64::ST1Fourv16b_POST:
21472    if (MI->getNumOperands() == 4 &&
21473        MI->getOperand(0).isReg() &&
21474        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21475        MI->getOperand(1).isReg() &&
21476        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21477        MI->getOperand(3).getReg() == AArch64::XZR &&
21478        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21479      // (ST1Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
21480      AsmString = "st1	$\xFF\x02\x25, [$\x01], #64";
21481      break;
21482    }
21483    return false;
21484  case AArch64::ST1Fourv1d_POST:
21485    if (MI->getNumOperands() == 4 &&
21486        MI->getOperand(0).isReg() &&
21487        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21488        MI->getOperand(1).isReg() &&
21489        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21490        MI->getOperand(3).getReg() == AArch64::XZR &&
21491        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21492      // (ST1Fourv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR)
21493      AsmString = "st1	$\xFF\x02\x26, [$\x01], #32";
21494      break;
21495    }
21496    return false;
21497  case AArch64::ST1Fourv2d_POST:
21498    if (MI->getNumOperands() == 4 &&
21499        MI->getOperand(0).isReg() &&
21500        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21501        MI->getOperand(1).isReg() &&
21502        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21503        MI->getOperand(3).getReg() == AArch64::XZR &&
21504        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21505      // (ST1Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
21506      AsmString = "st1	$\xFF\x02\x27, [$\x01], #64";
21507      break;
21508    }
21509    return false;
21510  case AArch64::ST1Fourv2s_POST:
21511    if (MI->getNumOperands() == 4 &&
21512        MI->getOperand(0).isReg() &&
21513        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21514        MI->getOperand(1).isReg() &&
21515        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21516        MI->getOperand(3).getReg() == AArch64::XZR &&
21517        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21518      // (ST1Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
21519      AsmString = "st1	$\xFF\x02\x28, [$\x01], #32";
21520      break;
21521    }
21522    return false;
21523  case AArch64::ST1Fourv4h_POST:
21524    if (MI->getNumOperands() == 4 &&
21525        MI->getOperand(0).isReg() &&
21526        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21527        MI->getOperand(1).isReg() &&
21528        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21529        MI->getOperand(3).getReg() == AArch64::XZR &&
21530        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21531      // (ST1Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
21532      AsmString = "st1	$\xFF\x02\x29, [$\x01], #32";
21533      break;
21534    }
21535    return false;
21536  case AArch64::ST1Fourv4s_POST:
21537    if (MI->getNumOperands() == 4 &&
21538        MI->getOperand(0).isReg() &&
21539        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21540        MI->getOperand(1).isReg() &&
21541        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21542        MI->getOperand(3).getReg() == AArch64::XZR &&
21543        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21544      // (ST1Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
21545      AsmString = "st1	$\xFF\x02\x2A, [$\x01], #64";
21546      break;
21547    }
21548    return false;
21549  case AArch64::ST1Fourv8b_POST:
21550    if (MI->getNumOperands() == 4 &&
21551        MI->getOperand(0).isReg() &&
21552        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21553        MI->getOperand(1).isReg() &&
21554        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21555        MI->getOperand(3).getReg() == AArch64::XZR &&
21556        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21557      // (ST1Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
21558      AsmString = "st1	$\xFF\x02\x2B, [$\x01], #32";
21559      break;
21560    }
21561    return false;
21562  case AArch64::ST1Fourv8h_POST:
21563    if (MI->getNumOperands() == 4 &&
21564        MI->getOperand(0).isReg() &&
21565        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21566        MI->getOperand(1).isReg() &&
21567        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21568        MI->getOperand(3).getReg() == AArch64::XZR &&
21569        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21570      // (ST1Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
21571      AsmString = "st1	$\xFF\x02\x2C, [$\x01], #64";
21572      break;
21573    }
21574    return false;
21575  case AArch64::ST1H_D_IMM:
21576    if (MI->getNumOperands() == 4 &&
21577        MI->getOperand(0).isReg() &&
21578        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21579        MI->getOperand(1).isReg() &&
21580        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21581        MI->getOperand(2).isReg() &&
21582        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21583        MI->getOperand(3).isImm() &&
21584        MI->getOperand(3).getImm() == 0 &&
21585        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21586      // (ST1H_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21587      AsmString = "st1h	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
21588      break;
21589    }
21590    return false;
21591  case AArch64::ST1H_IMM:
21592    if (MI->getNumOperands() == 4 &&
21593        MI->getOperand(0).isReg() &&
21594        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21595        MI->getOperand(1).isReg() &&
21596        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21597        MI->getOperand(2).isReg() &&
21598        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21599        MI->getOperand(3).isImm() &&
21600        MI->getOperand(3).getImm() == 0 &&
21601        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21602      // (ST1H_IMM Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21603      AsmString = "st1h	$\xFF\x01\x23, $\xFF\x02\x07, [$\x03]";
21604      break;
21605    }
21606    return false;
21607  case AArch64::ST1H_S_IMM:
21608    if (MI->getNumOperands() == 4 &&
21609        MI->getOperand(0).isReg() &&
21610        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21611        MI->getOperand(1).isReg() &&
21612        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21613        MI->getOperand(2).isReg() &&
21614        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21615        MI->getOperand(3).isImm() &&
21616        MI->getOperand(3).getImm() == 0 &&
21617        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21618      // (ST1H_S_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21619      AsmString = "st1h	$\xFF\x01\x21, $\xFF\x02\x07, [$\x03]";
21620      break;
21621    }
21622    return false;
21623  case AArch64::ST1Onev16b_POST:
21624    if (MI->getNumOperands() == 4 &&
21625        MI->getOperand(0).isReg() &&
21626        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21627        MI->getOperand(1).isReg() &&
21628        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21629        MI->getOperand(3).getReg() == AArch64::XZR &&
21630        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21631      // (ST1Onev16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR)
21632      AsmString = "st1	$\xFF\x02\x25, [$\x01], #16";
21633      break;
21634    }
21635    return false;
21636  case AArch64::ST1Onev1d_POST:
21637    if (MI->getNumOperands() == 4 &&
21638        MI->getOperand(0).isReg() &&
21639        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21640        MI->getOperand(1).isReg() &&
21641        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21642        MI->getOperand(3).getReg() == AArch64::XZR &&
21643        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21644      // (ST1Onev1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR)
21645      AsmString = "st1	$\xFF\x02\x26, [$\x01], #8";
21646      break;
21647    }
21648    return false;
21649  case AArch64::ST1Onev2d_POST:
21650    if (MI->getNumOperands() == 4 &&
21651        MI->getOperand(0).isReg() &&
21652        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21653        MI->getOperand(1).isReg() &&
21654        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21655        MI->getOperand(3).getReg() == AArch64::XZR &&
21656        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21657      // (ST1Onev2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR)
21658      AsmString = "st1	$\xFF\x02\x27, [$\x01], #16";
21659      break;
21660    }
21661    return false;
21662  case AArch64::ST1Onev2s_POST:
21663    if (MI->getNumOperands() == 4 &&
21664        MI->getOperand(0).isReg() &&
21665        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21666        MI->getOperand(1).isReg() &&
21667        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21668        MI->getOperand(3).getReg() == AArch64::XZR &&
21669        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21670      // (ST1Onev2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR)
21671      AsmString = "st1	$\xFF\x02\x28, [$\x01], #8";
21672      break;
21673    }
21674    return false;
21675  case AArch64::ST1Onev4h_POST:
21676    if (MI->getNumOperands() == 4 &&
21677        MI->getOperand(0).isReg() &&
21678        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21679        MI->getOperand(1).isReg() &&
21680        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21681        MI->getOperand(3).getReg() == AArch64::XZR &&
21682        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21683      // (ST1Onev4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR)
21684      AsmString = "st1	$\xFF\x02\x29, [$\x01], #8";
21685      break;
21686    }
21687    return false;
21688  case AArch64::ST1Onev4s_POST:
21689    if (MI->getNumOperands() == 4 &&
21690        MI->getOperand(0).isReg() &&
21691        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21692        MI->getOperand(1).isReg() &&
21693        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21694        MI->getOperand(3).getReg() == AArch64::XZR &&
21695        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21696      // (ST1Onev4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR)
21697      AsmString = "st1	$\xFF\x02\x2A, [$\x01], #16";
21698      break;
21699    }
21700    return false;
21701  case AArch64::ST1Onev8b_POST:
21702    if (MI->getNumOperands() == 4 &&
21703        MI->getOperand(0).isReg() &&
21704        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21705        MI->getOperand(1).isReg() &&
21706        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21707        MI->getOperand(3).getReg() == AArch64::XZR &&
21708        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21709      // (ST1Onev8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR)
21710      AsmString = "st1	$\xFF\x02\x2B, [$\x01], #8";
21711      break;
21712    }
21713    return false;
21714  case AArch64::ST1Onev8h_POST:
21715    if (MI->getNumOperands() == 4 &&
21716        MI->getOperand(0).isReg() &&
21717        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21718        MI->getOperand(1).isReg() &&
21719        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21720        MI->getOperand(3).getReg() == AArch64::XZR &&
21721        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21722      // (ST1Onev8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR)
21723      AsmString = "st1	$\xFF\x02\x2C, [$\x01], #16";
21724      break;
21725    }
21726    return false;
21727  case AArch64::ST1Threev16b_POST:
21728    if (MI->getNumOperands() == 4 &&
21729        MI->getOperand(0).isReg() &&
21730        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21731        MI->getOperand(1).isReg() &&
21732        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21733        MI->getOperand(3).getReg() == AArch64::XZR &&
21734        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21735      // (ST1Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
21736      AsmString = "st1	$\xFF\x02\x25, [$\x01], #48";
21737      break;
21738    }
21739    return false;
21740  case AArch64::ST1Threev1d_POST:
21741    if (MI->getNumOperands() == 4 &&
21742        MI->getOperand(0).isReg() &&
21743        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21744        MI->getOperand(1).isReg() &&
21745        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21746        MI->getOperand(3).getReg() == AArch64::XZR &&
21747        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21748      // (ST1Threev1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR)
21749      AsmString = "st1	$\xFF\x02\x26, [$\x01], #24";
21750      break;
21751    }
21752    return false;
21753  case AArch64::ST1Threev2d_POST:
21754    if (MI->getNumOperands() == 4 &&
21755        MI->getOperand(0).isReg() &&
21756        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21757        MI->getOperand(1).isReg() &&
21758        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21759        MI->getOperand(3).getReg() == AArch64::XZR &&
21760        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21761      // (ST1Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
21762      AsmString = "st1	$\xFF\x02\x27, [$\x01], #48";
21763      break;
21764    }
21765    return false;
21766  case AArch64::ST1Threev2s_POST:
21767    if (MI->getNumOperands() == 4 &&
21768        MI->getOperand(0).isReg() &&
21769        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21770        MI->getOperand(1).isReg() &&
21771        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21772        MI->getOperand(3).getReg() == AArch64::XZR &&
21773        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21774      // (ST1Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
21775      AsmString = "st1	$\xFF\x02\x28, [$\x01], #24";
21776      break;
21777    }
21778    return false;
21779  case AArch64::ST1Threev4h_POST:
21780    if (MI->getNumOperands() == 4 &&
21781        MI->getOperand(0).isReg() &&
21782        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21783        MI->getOperand(1).isReg() &&
21784        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21785        MI->getOperand(3).getReg() == AArch64::XZR &&
21786        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21787      // (ST1Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
21788      AsmString = "st1	$\xFF\x02\x29, [$\x01], #24";
21789      break;
21790    }
21791    return false;
21792  case AArch64::ST1Threev4s_POST:
21793    if (MI->getNumOperands() == 4 &&
21794        MI->getOperand(0).isReg() &&
21795        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21796        MI->getOperand(1).isReg() &&
21797        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21798        MI->getOperand(3).getReg() == AArch64::XZR &&
21799        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21800      // (ST1Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
21801      AsmString = "st1	$\xFF\x02\x2A, [$\x01], #48";
21802      break;
21803    }
21804    return false;
21805  case AArch64::ST1Threev8b_POST:
21806    if (MI->getNumOperands() == 4 &&
21807        MI->getOperand(0).isReg() &&
21808        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21809        MI->getOperand(1).isReg() &&
21810        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
21811        MI->getOperand(3).getReg() == AArch64::XZR &&
21812        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21813      // (ST1Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
21814      AsmString = "st1	$\xFF\x02\x2B, [$\x01], #24";
21815      break;
21816    }
21817    return false;
21818  case AArch64::ST1Threev8h_POST:
21819    if (MI->getNumOperands() == 4 &&
21820        MI->getOperand(0).isReg() &&
21821        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21822        MI->getOperand(1).isReg() &&
21823        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
21824        MI->getOperand(3).getReg() == AArch64::XZR &&
21825        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21826      // (ST1Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
21827      AsmString = "st1	$\xFF\x02\x2C, [$\x01], #48";
21828      break;
21829    }
21830    return false;
21831  case AArch64::ST1Twov16b_POST:
21832    if (MI->getNumOperands() == 4 &&
21833        MI->getOperand(0).isReg() &&
21834        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21835        MI->getOperand(1).isReg() &&
21836        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
21837        MI->getOperand(3).getReg() == AArch64::XZR &&
21838        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21839      // (ST1Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
21840      AsmString = "st1	$\xFF\x02\x25, [$\x01], #32";
21841      break;
21842    }
21843    return false;
21844  case AArch64::ST1Twov1d_POST:
21845    if (MI->getNumOperands() == 4 &&
21846        MI->getOperand(0).isReg() &&
21847        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21848        MI->getOperand(1).isReg() &&
21849        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
21850        MI->getOperand(3).getReg() == AArch64::XZR &&
21851        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21852      // (ST1Twov1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR)
21853      AsmString = "st1	$\xFF\x02\x26, [$\x01], #16";
21854      break;
21855    }
21856    return false;
21857  case AArch64::ST1Twov2d_POST:
21858    if (MI->getNumOperands() == 4 &&
21859        MI->getOperand(0).isReg() &&
21860        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21861        MI->getOperand(1).isReg() &&
21862        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
21863        MI->getOperand(3).getReg() == AArch64::XZR &&
21864        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21865      // (ST1Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
21866      AsmString = "st1	$\xFF\x02\x27, [$\x01], #32";
21867      break;
21868    }
21869    return false;
21870  case AArch64::ST1Twov2s_POST:
21871    if (MI->getNumOperands() == 4 &&
21872        MI->getOperand(0).isReg() &&
21873        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21874        MI->getOperand(1).isReg() &&
21875        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
21876        MI->getOperand(3).getReg() == AArch64::XZR &&
21877        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21878      // (ST1Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
21879      AsmString = "st1	$\xFF\x02\x28, [$\x01], #16";
21880      break;
21881    }
21882    return false;
21883  case AArch64::ST1Twov4h_POST:
21884    if (MI->getNumOperands() == 4 &&
21885        MI->getOperand(0).isReg() &&
21886        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21887        MI->getOperand(1).isReg() &&
21888        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
21889        MI->getOperand(3).getReg() == AArch64::XZR &&
21890        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21891      // (ST1Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
21892      AsmString = "st1	$\xFF\x02\x29, [$\x01], #16";
21893      break;
21894    }
21895    return false;
21896  case AArch64::ST1Twov4s_POST:
21897    if (MI->getNumOperands() == 4 &&
21898        MI->getOperand(0).isReg() &&
21899        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21900        MI->getOperand(1).isReg() &&
21901        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
21902        MI->getOperand(3).getReg() == AArch64::XZR &&
21903        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21904      // (ST1Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
21905      AsmString = "st1	$\xFF\x02\x2A, [$\x01], #32";
21906      break;
21907    }
21908    return false;
21909  case AArch64::ST1Twov8b_POST:
21910    if (MI->getNumOperands() == 4 &&
21911        MI->getOperand(0).isReg() &&
21912        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21913        MI->getOperand(1).isReg() &&
21914        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
21915        MI->getOperand(3).getReg() == AArch64::XZR &&
21916        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21917      // (ST1Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
21918      AsmString = "st1	$\xFF\x02\x2B, [$\x01], #16";
21919      break;
21920    }
21921    return false;
21922  case AArch64::ST1Twov8h_POST:
21923    if (MI->getNumOperands() == 4 &&
21924        MI->getOperand(0).isReg() &&
21925        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21926        MI->getOperand(1).isReg() &&
21927        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
21928        MI->getOperand(3).getReg() == AArch64::XZR &&
21929        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21930      // (ST1Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
21931      AsmString = "st1	$\xFF\x02\x2C, [$\x01], #32";
21932      break;
21933    }
21934    return false;
21935  case AArch64::ST1W_D_IMM:
21936    if (MI->getNumOperands() == 4 &&
21937        MI->getOperand(0).isReg() &&
21938        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21939        MI->getOperand(1).isReg() &&
21940        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21941        MI->getOperand(2).isReg() &&
21942        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21943        MI->getOperand(3).isImm() &&
21944        MI->getOperand(3).getImm() == 0 &&
21945        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21946      // (ST1W_D_IMM Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21947      AsmString = "st1w	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
21948      break;
21949    }
21950    return false;
21951  case AArch64::ST1W_IMM:
21952    if (MI->getNumOperands() == 4 &&
21953        MI->getOperand(0).isReg() &&
21954        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21955        MI->getOperand(1).isReg() &&
21956        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21957        MI->getOperand(2).isReg() &&
21958        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21959        MI->getOperand(3).isImm() &&
21960        MI->getOperand(3).getImm() == 0 &&
21961        STI.getFeatureBits()[AArch64::FeatureSVE]) {
21962      // (ST1W_IMM Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
21963      AsmString = "st1w	$\xFF\x01\x21, $\xFF\x02\x07, [$\x03]";
21964      break;
21965    }
21966    return false;
21967  case AArch64::ST1i16_POST:
21968    if (MI->getNumOperands() == 5 &&
21969        MI->getOperand(0).isReg() &&
21970        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21971        MI->getOperand(1).isReg() &&
21972        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21973        MI->getOperand(4).getReg() == AArch64::XZR &&
21974        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21975      // (ST1i16_POST GPR64sp:$Rn, VecListOneh:$Vt, VectorIndexH:$idx, XZR)
21976      AsmString = "st1	$\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #2";
21977      break;
21978    }
21979    return false;
21980  case AArch64::ST1i32_POST:
21981    if (MI->getNumOperands() == 5 &&
21982        MI->getOperand(0).isReg() &&
21983        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21984        MI->getOperand(1).isReg() &&
21985        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21986        MI->getOperand(4).getReg() == AArch64::XZR &&
21987        STI.getFeatureBits()[AArch64::FeatureNEON]) {
21988      // (ST1i32_POST GPR64sp:$Rn, VecListOnes:$Vt, VectorIndexS:$idx, XZR)
21989      AsmString = "st1	$\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #4";
21990      break;
21991    }
21992    return false;
21993  case AArch64::ST1i64_POST:
21994    if (MI->getNumOperands() == 5 &&
21995        MI->getOperand(0).isReg() &&
21996        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
21997        MI->getOperand(1).isReg() &&
21998        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21999        MI->getOperand(4).getReg() == AArch64::XZR &&
22000        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22001      // (ST1i64_POST GPR64sp:$Rn, VecListOned:$Vt, VectorIndexD:$idx, XZR)
22002      AsmString = "st1	$\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #8";
22003      break;
22004    }
22005    return false;
22006  case AArch64::ST1i8_POST:
22007    if (MI->getNumOperands() == 5 &&
22008        MI->getOperand(0).isReg() &&
22009        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22010        MI->getOperand(1).isReg() &&
22011        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
22012        MI->getOperand(4).getReg() == AArch64::XZR &&
22013        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22014      // (ST1i8_POST GPR64sp:$Rn, VecListOneb:$Vt, VectorIndexB:$idx, XZR)
22015      AsmString = "st1	$\xFF\x02\x30$\xFF\x03\x19, [$\x01], #1";
22016      break;
22017    }
22018    return false;
22019  case AArch64::ST2B_IMM:
22020    if (MI->getNumOperands() == 4 &&
22021        MI->getOperand(0).isReg() &&
22022        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
22023        MI->getOperand(1).isReg() &&
22024        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22025        MI->getOperand(2).isReg() &&
22026        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22027        MI->getOperand(3).isImm() &&
22028        MI->getOperand(3).getImm() == 0 &&
22029        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22030      // (ST2B_IMM ZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22031      AsmString = "st2b	$\xFF\x01\x24, $\xFF\x02\x07, [$\x03]";
22032      break;
22033    }
22034    return false;
22035  case AArch64::ST2D_IMM:
22036    if (MI->getNumOperands() == 4 &&
22037        MI->getOperand(0).isReg() &&
22038        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
22039        MI->getOperand(1).isReg() &&
22040        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22041        MI->getOperand(2).isReg() &&
22042        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22043        MI->getOperand(3).isImm() &&
22044        MI->getOperand(3).getImm() == 0 &&
22045        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22046      // (ST2D_IMM ZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22047      AsmString = "st2d	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
22048      break;
22049    }
22050    return false;
22051  case AArch64::ST2H_IMM:
22052    if (MI->getNumOperands() == 4 &&
22053        MI->getOperand(0).isReg() &&
22054        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
22055        MI->getOperand(1).isReg() &&
22056        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22057        MI->getOperand(2).isReg() &&
22058        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22059        MI->getOperand(3).isImm() &&
22060        MI->getOperand(3).getImm() == 0 &&
22061        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22062      // (ST2H_IMM ZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22063      AsmString = "st2h	$\xFF\x01\x23, $\xFF\x02\x07, [$\x03]";
22064      break;
22065    }
22066    return false;
22067  case AArch64::ST2Twov16b_POST:
22068    if (MI->getNumOperands() == 4 &&
22069        MI->getOperand(0).isReg() &&
22070        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22071        MI->getOperand(1).isReg() &&
22072        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22073        MI->getOperand(3).getReg() == AArch64::XZR &&
22074        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22075      // (ST2Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
22076      AsmString = "st2	$\xFF\x02\x25, [$\x01], #32";
22077      break;
22078    }
22079    return false;
22080  case AArch64::ST2Twov2d_POST:
22081    if (MI->getNumOperands() == 4 &&
22082        MI->getOperand(0).isReg() &&
22083        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22084        MI->getOperand(1).isReg() &&
22085        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22086        MI->getOperand(3).getReg() == AArch64::XZR &&
22087        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22088      // (ST2Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
22089      AsmString = "st2	$\xFF\x02\x27, [$\x01], #32";
22090      break;
22091    }
22092    return false;
22093  case AArch64::ST2Twov2s_POST:
22094    if (MI->getNumOperands() == 4 &&
22095        MI->getOperand(0).isReg() &&
22096        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22097        MI->getOperand(1).isReg() &&
22098        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
22099        MI->getOperand(3).getReg() == AArch64::XZR &&
22100        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22101      // (ST2Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
22102      AsmString = "st2	$\xFF\x02\x28, [$\x01], #16";
22103      break;
22104    }
22105    return false;
22106  case AArch64::ST2Twov4h_POST:
22107    if (MI->getNumOperands() == 4 &&
22108        MI->getOperand(0).isReg() &&
22109        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22110        MI->getOperand(1).isReg() &&
22111        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
22112        MI->getOperand(3).getReg() == AArch64::XZR &&
22113        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22114      // (ST2Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
22115      AsmString = "st2	$\xFF\x02\x29, [$\x01], #16";
22116      break;
22117    }
22118    return false;
22119  case AArch64::ST2Twov4s_POST:
22120    if (MI->getNumOperands() == 4 &&
22121        MI->getOperand(0).isReg() &&
22122        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22123        MI->getOperand(1).isReg() &&
22124        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22125        MI->getOperand(3).getReg() == AArch64::XZR &&
22126        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22127      // (ST2Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
22128      AsmString = "st2	$\xFF\x02\x2A, [$\x01], #32";
22129      break;
22130    }
22131    return false;
22132  case AArch64::ST2Twov8b_POST:
22133    if (MI->getNumOperands() == 4 &&
22134        MI->getOperand(0).isReg() &&
22135        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22136        MI->getOperand(1).isReg() &&
22137        MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
22138        MI->getOperand(3).getReg() == AArch64::XZR &&
22139        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22140      // (ST2Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
22141      AsmString = "st2	$\xFF\x02\x2B, [$\x01], #16";
22142      break;
22143    }
22144    return false;
22145  case AArch64::ST2Twov8h_POST:
22146    if (MI->getNumOperands() == 4 &&
22147        MI->getOperand(0).isReg() &&
22148        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22149        MI->getOperand(1).isReg() &&
22150        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22151        MI->getOperand(3).getReg() == AArch64::XZR &&
22152        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22153      // (ST2Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
22154      AsmString = "st2	$\xFF\x02\x2C, [$\x01], #32";
22155      break;
22156    }
22157    return false;
22158  case AArch64::ST2W_IMM:
22159    if (MI->getNumOperands() == 4 &&
22160        MI->getOperand(0).isReg() &&
22161        MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
22162        MI->getOperand(1).isReg() &&
22163        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22164        MI->getOperand(2).isReg() &&
22165        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22166        MI->getOperand(3).isImm() &&
22167        MI->getOperand(3).getImm() == 0 &&
22168        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22169      // (ST2W_IMM ZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22170      AsmString = "st2w	$\xFF\x01\x21, $\xFF\x02\x07, [$\x03]";
22171      break;
22172    }
22173    return false;
22174  case AArch64::ST2i16_POST:
22175    if (MI->getNumOperands() == 5 &&
22176        MI->getOperand(0).isReg() &&
22177        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22178        MI->getOperand(1).isReg() &&
22179        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22180        MI->getOperand(4).getReg() == AArch64::XZR &&
22181        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22182      // (ST2i16_POST GPR64sp:$Rn, VecListTwoh:$Vt, VectorIndexH:$idx, XZR)
22183      AsmString = "st2	$\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #4";
22184      break;
22185    }
22186    return false;
22187  case AArch64::ST2i32_POST:
22188    if (MI->getNumOperands() == 5 &&
22189        MI->getOperand(0).isReg() &&
22190        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22191        MI->getOperand(1).isReg() &&
22192        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22193        MI->getOperand(4).getReg() == AArch64::XZR &&
22194        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22195      // (ST2i32_POST GPR64sp:$Rn, VecListTwos:$Vt, VectorIndexS:$idx, XZR)
22196      AsmString = "st2	$\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #8";
22197      break;
22198    }
22199    return false;
22200  case AArch64::ST2i64_POST:
22201    if (MI->getNumOperands() == 5 &&
22202        MI->getOperand(0).isReg() &&
22203        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22204        MI->getOperand(1).isReg() &&
22205        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22206        MI->getOperand(4).getReg() == AArch64::XZR &&
22207        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22208      // (ST2i64_POST GPR64sp:$Rn, VecListTwod:$Vt, VectorIndexD:$idx, XZR)
22209      AsmString = "st2	$\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #16";
22210      break;
22211    }
22212    return false;
22213  case AArch64::ST2i8_POST:
22214    if (MI->getNumOperands() == 5 &&
22215        MI->getOperand(0).isReg() &&
22216        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22217        MI->getOperand(1).isReg() &&
22218        MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
22219        MI->getOperand(4).getReg() == AArch64::XZR &&
22220        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22221      // (ST2i8_POST GPR64sp:$Rn, VecListTwob:$Vt, VectorIndexB:$idx, XZR)
22222      AsmString = "st2	$\xFF\x02\x30$\xFF\x03\x19, [$\x01], #2";
22223      break;
22224    }
22225    return false;
22226  case AArch64::ST3B_IMM:
22227    if (MI->getNumOperands() == 4 &&
22228        MI->getOperand(0).isReg() &&
22229        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
22230        MI->getOperand(1).isReg() &&
22231        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22232        MI->getOperand(2).isReg() &&
22233        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22234        MI->getOperand(3).isImm() &&
22235        MI->getOperand(3).getImm() == 0 &&
22236        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22237      // (ST3B_IMM ZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22238      AsmString = "st3b	$\xFF\x01\x24, $\xFF\x02\x07, [$\x03]";
22239      break;
22240    }
22241    return false;
22242  case AArch64::ST3D_IMM:
22243    if (MI->getNumOperands() == 4 &&
22244        MI->getOperand(0).isReg() &&
22245        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
22246        MI->getOperand(1).isReg() &&
22247        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22248        MI->getOperand(2).isReg() &&
22249        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22250        MI->getOperand(3).isImm() &&
22251        MI->getOperand(3).getImm() == 0 &&
22252        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22253      // (ST3D_IMM ZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22254      AsmString = "st3d	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
22255      break;
22256    }
22257    return false;
22258  case AArch64::ST3H_IMM:
22259    if (MI->getNumOperands() == 4 &&
22260        MI->getOperand(0).isReg() &&
22261        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
22262        MI->getOperand(1).isReg() &&
22263        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22264        MI->getOperand(2).isReg() &&
22265        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22266        MI->getOperand(3).isImm() &&
22267        MI->getOperand(3).getImm() == 0 &&
22268        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22269      // (ST3H_IMM ZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22270      AsmString = "st3h	$\xFF\x01\x23, $\xFF\x02\x07, [$\x03]";
22271      break;
22272    }
22273    return false;
22274  case AArch64::ST3Threev16b_POST:
22275    if (MI->getNumOperands() == 4 &&
22276        MI->getOperand(0).isReg() &&
22277        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22278        MI->getOperand(1).isReg() &&
22279        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22280        MI->getOperand(3).getReg() == AArch64::XZR &&
22281        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22282      // (ST3Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
22283      AsmString = "st3	$\xFF\x02\x25, [$\x01], #48";
22284      break;
22285    }
22286    return false;
22287  case AArch64::ST3Threev2d_POST:
22288    if (MI->getNumOperands() == 4 &&
22289        MI->getOperand(0).isReg() &&
22290        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22291        MI->getOperand(1).isReg() &&
22292        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22293        MI->getOperand(3).getReg() == AArch64::XZR &&
22294        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22295      // (ST3Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
22296      AsmString = "st3	$\xFF\x02\x27, [$\x01], #48";
22297      break;
22298    }
22299    return false;
22300  case AArch64::ST3Threev2s_POST:
22301    if (MI->getNumOperands() == 4 &&
22302        MI->getOperand(0).isReg() &&
22303        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22304        MI->getOperand(1).isReg() &&
22305        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
22306        MI->getOperand(3).getReg() == AArch64::XZR &&
22307        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22308      // (ST3Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
22309      AsmString = "st3	$\xFF\x02\x28, [$\x01], #24";
22310      break;
22311    }
22312    return false;
22313  case AArch64::ST3Threev4h_POST:
22314    if (MI->getNumOperands() == 4 &&
22315        MI->getOperand(0).isReg() &&
22316        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22317        MI->getOperand(1).isReg() &&
22318        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
22319        MI->getOperand(3).getReg() == AArch64::XZR &&
22320        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22321      // (ST3Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
22322      AsmString = "st3	$\xFF\x02\x29, [$\x01], #24";
22323      break;
22324    }
22325    return false;
22326  case AArch64::ST3Threev4s_POST:
22327    if (MI->getNumOperands() == 4 &&
22328        MI->getOperand(0).isReg() &&
22329        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22330        MI->getOperand(1).isReg() &&
22331        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22332        MI->getOperand(3).getReg() == AArch64::XZR &&
22333        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22334      // (ST3Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
22335      AsmString = "st3	$\xFF\x02\x2A, [$\x01], #48";
22336      break;
22337    }
22338    return false;
22339  case AArch64::ST3Threev8b_POST:
22340    if (MI->getNumOperands() == 4 &&
22341        MI->getOperand(0).isReg() &&
22342        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22343        MI->getOperand(1).isReg() &&
22344        MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
22345        MI->getOperand(3).getReg() == AArch64::XZR &&
22346        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22347      // (ST3Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
22348      AsmString = "st3	$\xFF\x02\x2B, [$\x01], #24";
22349      break;
22350    }
22351    return false;
22352  case AArch64::ST3Threev8h_POST:
22353    if (MI->getNumOperands() == 4 &&
22354        MI->getOperand(0).isReg() &&
22355        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22356        MI->getOperand(1).isReg() &&
22357        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22358        MI->getOperand(3).getReg() == AArch64::XZR &&
22359        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22360      // (ST3Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
22361      AsmString = "st3	$\xFF\x02\x2C, [$\x01], #48";
22362      break;
22363    }
22364    return false;
22365  case AArch64::ST3W_IMM:
22366    if (MI->getNumOperands() == 4 &&
22367        MI->getOperand(0).isReg() &&
22368        MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
22369        MI->getOperand(1).isReg() &&
22370        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22371        MI->getOperand(2).isReg() &&
22372        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22373        MI->getOperand(3).isImm() &&
22374        MI->getOperand(3).getImm() == 0 &&
22375        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22376      // (ST3W_IMM ZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22377      AsmString = "st3w	$\xFF\x01\x21, $\xFF\x02\x07, [$\x03]";
22378      break;
22379    }
22380    return false;
22381  case AArch64::ST3i16_POST:
22382    if (MI->getNumOperands() == 5 &&
22383        MI->getOperand(0).isReg() &&
22384        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22385        MI->getOperand(1).isReg() &&
22386        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22387        MI->getOperand(4).getReg() == AArch64::XZR &&
22388        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22389      // (ST3i16_POST GPR64sp:$Rn, VecListThreeh:$Vt, VectorIndexH:$idx, XZR)
22390      AsmString = "st3	$\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #6";
22391      break;
22392    }
22393    return false;
22394  case AArch64::ST3i32_POST:
22395    if (MI->getNumOperands() == 5 &&
22396        MI->getOperand(0).isReg() &&
22397        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22398        MI->getOperand(1).isReg() &&
22399        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22400        MI->getOperand(4).getReg() == AArch64::XZR &&
22401        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22402      // (ST3i32_POST GPR64sp:$Rn, VecListThrees:$Vt, VectorIndexS:$idx, XZR)
22403      AsmString = "st3	$\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #12";
22404      break;
22405    }
22406    return false;
22407  case AArch64::ST3i64_POST:
22408    if (MI->getNumOperands() == 5 &&
22409        MI->getOperand(0).isReg() &&
22410        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22411        MI->getOperand(1).isReg() &&
22412        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22413        MI->getOperand(4).getReg() == AArch64::XZR &&
22414        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22415      // (ST3i64_POST GPR64sp:$Rn, VecListThreed:$Vt, VectorIndexD:$idx, XZR)
22416      AsmString = "st3	$\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #24";
22417      break;
22418    }
22419    return false;
22420  case AArch64::ST3i8_POST:
22421    if (MI->getNumOperands() == 5 &&
22422        MI->getOperand(0).isReg() &&
22423        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22424        MI->getOperand(1).isReg() &&
22425        MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22426        MI->getOperand(4).getReg() == AArch64::XZR &&
22427        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22428      // (ST3i8_POST GPR64sp:$Rn, VecListThreeb:$Vt, VectorIndexB:$idx, XZR)
22429      AsmString = "st3	$\xFF\x02\x30$\xFF\x03\x19, [$\x01], #3";
22430      break;
22431    }
22432    return false;
22433  case AArch64::ST4B_IMM:
22434    if (MI->getNumOperands() == 4 &&
22435        MI->getOperand(0).isReg() &&
22436        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
22437        MI->getOperand(1).isReg() &&
22438        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22439        MI->getOperand(2).isReg() &&
22440        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22441        MI->getOperand(3).isImm() &&
22442        MI->getOperand(3).getImm() == 0 &&
22443        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22444      // (ST4B_IMM ZZZZ_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22445      AsmString = "st4b	$\xFF\x01\x24, $\xFF\x02\x07, [$\x03]";
22446      break;
22447    }
22448    return false;
22449  case AArch64::ST4D_IMM:
22450    if (MI->getNumOperands() == 4 &&
22451        MI->getOperand(0).isReg() &&
22452        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
22453        MI->getOperand(1).isReg() &&
22454        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22455        MI->getOperand(2).isReg() &&
22456        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22457        MI->getOperand(3).isImm() &&
22458        MI->getOperand(3).getImm() == 0 &&
22459        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22460      // (ST4D_IMM ZZZZ_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22461      AsmString = "st4d	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
22462      break;
22463    }
22464    return false;
22465  case AArch64::ST4Fourv16b_POST:
22466    if (MI->getNumOperands() == 4 &&
22467        MI->getOperand(0).isReg() &&
22468        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22469        MI->getOperand(1).isReg() &&
22470        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22471        MI->getOperand(3).getReg() == AArch64::XZR &&
22472        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22473      // (ST4Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
22474      AsmString = "st4	$\xFF\x02\x25, [$\x01], #64";
22475      break;
22476    }
22477    return false;
22478  case AArch64::ST4Fourv2d_POST:
22479    if (MI->getNumOperands() == 4 &&
22480        MI->getOperand(0).isReg() &&
22481        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22482        MI->getOperand(1).isReg() &&
22483        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22484        MI->getOperand(3).getReg() == AArch64::XZR &&
22485        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22486      // (ST4Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
22487      AsmString = "st4	$\xFF\x02\x27, [$\x01], #64";
22488      break;
22489    }
22490    return false;
22491  case AArch64::ST4Fourv2s_POST:
22492    if (MI->getNumOperands() == 4 &&
22493        MI->getOperand(0).isReg() &&
22494        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22495        MI->getOperand(1).isReg() &&
22496        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
22497        MI->getOperand(3).getReg() == AArch64::XZR &&
22498        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22499      // (ST4Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
22500      AsmString = "st4	$\xFF\x02\x28, [$\x01], #32";
22501      break;
22502    }
22503    return false;
22504  case AArch64::ST4Fourv4h_POST:
22505    if (MI->getNumOperands() == 4 &&
22506        MI->getOperand(0).isReg() &&
22507        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22508        MI->getOperand(1).isReg() &&
22509        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
22510        MI->getOperand(3).getReg() == AArch64::XZR &&
22511        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22512      // (ST4Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
22513      AsmString = "st4	$\xFF\x02\x29, [$\x01], #32";
22514      break;
22515    }
22516    return false;
22517  case AArch64::ST4Fourv4s_POST:
22518    if (MI->getNumOperands() == 4 &&
22519        MI->getOperand(0).isReg() &&
22520        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22521        MI->getOperand(1).isReg() &&
22522        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22523        MI->getOperand(3).getReg() == AArch64::XZR &&
22524        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22525      // (ST4Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
22526      AsmString = "st4	$\xFF\x02\x2A, [$\x01], #64";
22527      break;
22528    }
22529    return false;
22530  case AArch64::ST4Fourv8b_POST:
22531    if (MI->getNumOperands() == 4 &&
22532        MI->getOperand(0).isReg() &&
22533        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22534        MI->getOperand(1).isReg() &&
22535        MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
22536        MI->getOperand(3).getReg() == AArch64::XZR &&
22537        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22538      // (ST4Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
22539      AsmString = "st4	$\xFF\x02\x2B, [$\x01], #32";
22540      break;
22541    }
22542    return false;
22543  case AArch64::ST4Fourv8h_POST:
22544    if (MI->getNumOperands() == 4 &&
22545        MI->getOperand(0).isReg() &&
22546        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22547        MI->getOperand(1).isReg() &&
22548        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22549        MI->getOperand(3).getReg() == AArch64::XZR &&
22550        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22551      // (ST4Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
22552      AsmString = "st4	$\xFF\x02\x2C, [$\x01], #64";
22553      break;
22554    }
22555    return false;
22556  case AArch64::ST4H_IMM:
22557    if (MI->getNumOperands() == 4 &&
22558        MI->getOperand(0).isReg() &&
22559        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
22560        MI->getOperand(1).isReg() &&
22561        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22562        MI->getOperand(2).isReg() &&
22563        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22564        MI->getOperand(3).isImm() &&
22565        MI->getOperand(3).getImm() == 0 &&
22566        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22567      // (ST4H_IMM ZZZZ_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22568      AsmString = "st4h	$\xFF\x01\x23, $\xFF\x02\x07, [$\x03]";
22569      break;
22570    }
22571    return false;
22572  case AArch64::ST4W_IMM:
22573    if (MI->getNumOperands() == 4 &&
22574        MI->getOperand(0).isReg() &&
22575        MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
22576        MI->getOperand(1).isReg() &&
22577        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22578        MI->getOperand(2).isReg() &&
22579        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22580        MI->getOperand(3).isImm() &&
22581        MI->getOperand(3).getImm() == 0 &&
22582        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22583      // (ST4W_IMM ZZZZ_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22584      AsmString = "st4w	$\xFF\x01\x21, $\xFF\x02\x07, [$\x03]";
22585      break;
22586    }
22587    return false;
22588  case AArch64::ST4i16_POST:
22589    if (MI->getNumOperands() == 5 &&
22590        MI->getOperand(0).isReg() &&
22591        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22592        MI->getOperand(1).isReg() &&
22593        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22594        MI->getOperand(4).getReg() == AArch64::XZR &&
22595        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22596      // (ST4i16_POST GPR64sp:$Rn, VecListFourh:$Vt, VectorIndexH:$idx, XZR)
22597      AsmString = "st4	$\xFF\x02\x2D$\xFF\x03\x19, [$\x01], #8";
22598      break;
22599    }
22600    return false;
22601  case AArch64::ST4i32_POST:
22602    if (MI->getNumOperands() == 5 &&
22603        MI->getOperand(0).isReg() &&
22604        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22605        MI->getOperand(1).isReg() &&
22606        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22607        MI->getOperand(4).getReg() == AArch64::XZR &&
22608        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22609      // (ST4i32_POST GPR64sp:$Rn, VecListFours:$Vt, VectorIndexS:$idx, XZR)
22610      AsmString = "st4	$\xFF\x02\x2E$\xFF\x03\x19, [$\x01], #16";
22611      break;
22612    }
22613    return false;
22614  case AArch64::ST4i64_POST:
22615    if (MI->getNumOperands() == 5 &&
22616        MI->getOperand(0).isReg() &&
22617        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22618        MI->getOperand(1).isReg() &&
22619        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22620        MI->getOperand(4).getReg() == AArch64::XZR &&
22621        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22622      // (ST4i64_POST GPR64sp:$Rn, VecListFourd:$Vt, VectorIndexD:$idx, XZR)
22623      AsmString = "st4	$\xFF\x02\x2F$\xFF\x03\x19, [$\x01], #32";
22624      break;
22625    }
22626    return false;
22627  case AArch64::ST4i8_POST:
22628    if (MI->getNumOperands() == 5 &&
22629        MI->getOperand(0).isReg() &&
22630        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
22631        MI->getOperand(1).isReg() &&
22632        MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
22633        MI->getOperand(4).getReg() == AArch64::XZR &&
22634        STI.getFeatureBits()[AArch64::FeatureNEON]) {
22635      // (ST4i8_POST GPR64sp:$Rn, VecListFourb:$Vt, VectorIndexB:$idx, XZR)
22636      AsmString = "st4	$\xFF\x02\x30$\xFF\x03\x19, [$\x01], #4";
22637      break;
22638    }
22639    return false;
22640  case AArch64::STLURBi:
22641    if (MI->getNumOperands() == 3 &&
22642        MI->getOperand(0).isReg() &&
22643        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22644        MI->getOperand(1).isReg() &&
22645        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22646        MI->getOperand(2).isImm() &&
22647        MI->getOperand(2).getImm() == 0 &&
22648        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
22649      // (STLURBi GPR32:$Rt, GPR64sp:$Rn, 0)
22650      AsmString = "stlurb	$\x01, [$\x02]";
22651      break;
22652    }
22653    return false;
22654  case AArch64::STLURHi:
22655    if (MI->getNumOperands() == 3 &&
22656        MI->getOperand(0).isReg() &&
22657        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22658        MI->getOperand(1).isReg() &&
22659        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22660        MI->getOperand(2).isImm() &&
22661        MI->getOperand(2).getImm() == 0 &&
22662        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
22663      // (STLURHi GPR32:$Rt, GPR64sp:$Rn, 0)
22664      AsmString = "stlurh	$\x01, [$\x02]";
22665      break;
22666    }
22667    return false;
22668  case AArch64::STLURWi:
22669    if (MI->getNumOperands() == 3 &&
22670        MI->getOperand(0).isReg() &&
22671        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22672        MI->getOperand(1).isReg() &&
22673        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22674        MI->getOperand(2).isImm() &&
22675        MI->getOperand(2).getImm() == 0 &&
22676        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
22677      // (STLURWi GPR32:$Rt, GPR64sp:$Rn, 0)
22678      AsmString = "stlur	$\x01, [$\x02]";
22679      break;
22680    }
22681    return false;
22682  case AArch64::STLURXi:
22683    if (MI->getNumOperands() == 3 &&
22684        MI->getOperand(0).isReg() &&
22685        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22686        MI->getOperand(1).isReg() &&
22687        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22688        MI->getOperand(2).isImm() &&
22689        MI->getOperand(2).getImm() == 0 &&
22690        STI.getFeatureBits()[AArch64::HasV8_4aOps]) {
22691      // (STLURXi GPR64:$Rt, GPR64sp:$Rn, 0)
22692      AsmString = "stlur	$\x01, [$\x02]";
22693      break;
22694    }
22695    return false;
22696  case AArch64::STNPDi:
22697    if (MI->getNumOperands() == 4 &&
22698        MI->getOperand(0).isReg() &&
22699        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22700        MI->getOperand(1).isReg() &&
22701        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22702        MI->getOperand(2).isReg() &&
22703        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22704        MI->getOperand(3).isImm() &&
22705        MI->getOperand(3).getImm() == 0) {
22706      // (STNPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0)
22707      AsmString = "stnp	$\x01, $\x02, [$\x03]";
22708      break;
22709    }
22710    return false;
22711  case AArch64::STNPQi:
22712    if (MI->getNumOperands() == 4 &&
22713        MI->getOperand(0).isReg() &&
22714        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
22715        MI->getOperand(1).isReg() &&
22716        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
22717        MI->getOperand(2).isReg() &&
22718        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22719        MI->getOperand(3).isImm() &&
22720        MI->getOperand(3).getImm() == 0) {
22721      // (STNPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0)
22722      AsmString = "stnp	$\x01, $\x02, [$\x03]";
22723      break;
22724    }
22725    return false;
22726  case AArch64::STNPSi:
22727    if (MI->getNumOperands() == 4 &&
22728        MI->getOperand(0).isReg() &&
22729        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22730        MI->getOperand(1).isReg() &&
22731        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22732        MI->getOperand(2).isReg() &&
22733        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22734        MI->getOperand(3).isImm() &&
22735        MI->getOperand(3).getImm() == 0) {
22736      // (STNPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0)
22737      AsmString = "stnp	$\x01, $\x02, [$\x03]";
22738      break;
22739    }
22740    return false;
22741  case AArch64::STNPWi:
22742    if (MI->getNumOperands() == 4 &&
22743        MI->getOperand(0).isReg() &&
22744        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22745        MI->getOperand(1).isReg() &&
22746        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22747        MI->getOperand(2).isReg() &&
22748        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22749        MI->getOperand(3).isImm() &&
22750        MI->getOperand(3).getImm() == 0) {
22751      // (STNPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0)
22752      AsmString = "stnp	$\x01, $\x02, [$\x03]";
22753      break;
22754    }
22755    return false;
22756  case AArch64::STNPXi:
22757    if (MI->getNumOperands() == 4 &&
22758        MI->getOperand(0).isReg() &&
22759        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22760        MI->getOperand(1).isReg() &&
22761        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22762        MI->getOperand(2).isReg() &&
22763        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22764        MI->getOperand(3).isImm() &&
22765        MI->getOperand(3).getImm() == 0) {
22766      // (STNPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0)
22767      AsmString = "stnp	$\x01, $\x02, [$\x03]";
22768      break;
22769    }
22770    return false;
22771  case AArch64::STNT1B_ZRI:
22772    if (MI->getNumOperands() == 4 &&
22773        MI->getOperand(0).isReg() &&
22774        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22775        MI->getOperand(1).isReg() &&
22776        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22777        MI->getOperand(2).isReg() &&
22778        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22779        MI->getOperand(3).isImm() &&
22780        MI->getOperand(3).getImm() == 0 &&
22781        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22782      // (STNT1B_ZRI Z_b:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22783      AsmString = "stnt1b	$\xFF\x01\x24, $\xFF\x02\x07, [$\x03]";
22784      break;
22785    }
22786    return false;
22787  case AArch64::STNT1D_ZRI:
22788    if (MI->getNumOperands() == 4 &&
22789        MI->getOperand(0).isReg() &&
22790        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22791        MI->getOperand(1).isReg() &&
22792        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22793        MI->getOperand(2).isReg() &&
22794        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22795        MI->getOperand(3).isImm() &&
22796        MI->getOperand(3).getImm() == 0 &&
22797        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22798      // (STNT1D_ZRI Z_d:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22799      AsmString = "stnt1d	$\xFF\x01\x20, $\xFF\x02\x07, [$\x03]";
22800      break;
22801    }
22802    return false;
22803  case AArch64::STNT1H_ZRI:
22804    if (MI->getNumOperands() == 4 &&
22805        MI->getOperand(0).isReg() &&
22806        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22807        MI->getOperand(1).isReg() &&
22808        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22809        MI->getOperand(2).isReg() &&
22810        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22811        MI->getOperand(3).isImm() &&
22812        MI->getOperand(3).getImm() == 0 &&
22813        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22814      // (STNT1H_ZRI Z_h:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22815      AsmString = "stnt1h	$\xFF\x01\x23, $\xFF\x02\x07, [$\x03]";
22816      break;
22817    }
22818    return false;
22819  case AArch64::STNT1W_ZRI:
22820    if (MI->getNumOperands() == 4 &&
22821        MI->getOperand(0).isReg() &&
22822        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22823        MI->getOperand(1).isReg() &&
22824        MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22825        MI->getOperand(2).isReg() &&
22826        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22827        MI->getOperand(3).isImm() &&
22828        MI->getOperand(3).getImm() == 0 &&
22829        STI.getFeatureBits()[AArch64::FeatureSVE]) {
22830      // (STNT1W_ZRI Z_s:$Zt, PPR3bAny:$Pg, GPR64sp:$Rn, 0)
22831      AsmString = "stnt1w	$\xFF\x01\x21, $\xFF\x02\x07, [$\x03]";
22832      break;
22833    }
22834    return false;
22835  case AArch64::STPDi:
22836    if (MI->getNumOperands() == 4 &&
22837        MI->getOperand(0).isReg() &&
22838        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22839        MI->getOperand(1).isReg() &&
22840        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22841        MI->getOperand(2).isReg() &&
22842        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22843        MI->getOperand(3).isImm() &&
22844        MI->getOperand(3).getImm() == 0) {
22845      // (STPDi FPR64Op:$Rt, FPR64Op:$Rt2, GPR64sp:$Rn, 0)
22846      AsmString = "stp	$\x01, $\x02, [$\x03]";
22847      break;
22848    }
22849    return false;
22850  case AArch64::STPQi:
22851    if (MI->getNumOperands() == 4 &&
22852        MI->getOperand(0).isReg() &&
22853        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
22854        MI->getOperand(1).isReg() &&
22855        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
22856        MI->getOperand(2).isReg() &&
22857        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22858        MI->getOperand(3).isImm() &&
22859        MI->getOperand(3).getImm() == 0) {
22860      // (STPQi FPR128Op:$Rt, FPR128Op:$Rt2, GPR64sp:$Rn, 0)
22861      AsmString = "stp	$\x01, $\x02, [$\x03]";
22862      break;
22863    }
22864    return false;
22865  case AArch64::STPSi:
22866    if (MI->getNumOperands() == 4 &&
22867        MI->getOperand(0).isReg() &&
22868        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22869        MI->getOperand(1).isReg() &&
22870        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22871        MI->getOperand(2).isReg() &&
22872        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22873        MI->getOperand(3).isImm() &&
22874        MI->getOperand(3).getImm() == 0) {
22875      // (STPSi FPR32Op:$Rt, FPR32Op:$Rt2, GPR64sp:$Rn, 0)
22876      AsmString = "stp	$\x01, $\x02, [$\x03]";
22877      break;
22878    }
22879    return false;
22880  case AArch64::STPWi:
22881    if (MI->getNumOperands() == 4 &&
22882        MI->getOperand(0).isReg() &&
22883        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22884        MI->getOperand(1).isReg() &&
22885        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22886        MI->getOperand(2).isReg() &&
22887        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22888        MI->getOperand(3).isImm() &&
22889        MI->getOperand(3).getImm() == 0) {
22890      // (STPWi GPR32z:$Rt, GPR32z:$Rt2, GPR64sp:$Rn, 0)
22891      AsmString = "stp	$\x01, $\x02, [$\x03]";
22892      break;
22893    }
22894    return false;
22895  case AArch64::STPXi:
22896    if (MI->getNumOperands() == 4 &&
22897        MI->getOperand(0).isReg() &&
22898        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22899        MI->getOperand(1).isReg() &&
22900        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22901        MI->getOperand(2).isReg() &&
22902        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22903        MI->getOperand(3).isImm() &&
22904        MI->getOperand(3).getImm() == 0) {
22905      // (STPXi GPR64z:$Rt, GPR64z:$Rt2, GPR64sp:$Rn, 0)
22906      AsmString = "stp	$\x01, $\x02, [$\x03]";
22907      break;
22908    }
22909    return false;
22910  case AArch64::STRBBroX:
22911    if (MI->getNumOperands() == 5 &&
22912        MI->getOperand(0).isReg() &&
22913        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22914        MI->getOperand(1).isReg() &&
22915        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22916        MI->getOperand(2).isReg() &&
22917        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22918        MI->getOperand(3).isImm() &&
22919        MI->getOperand(3).getImm() == 0 &&
22920        MI->getOperand(4).isImm() &&
22921        MI->getOperand(4).getImm() == 0) {
22922      // (STRBBroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
22923      AsmString = "strb	$\x01, [$\x02, $\x03]";
22924      break;
22925    }
22926    return false;
22927  case AArch64::STRBBui:
22928    if (MI->getNumOperands() == 3 &&
22929        MI->getOperand(0).isReg() &&
22930        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22931        MI->getOperand(1).isReg() &&
22932        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22933        MI->getOperand(2).isImm() &&
22934        MI->getOperand(2).getImm() == 0) {
22935      // (STRBBui GPR32z:$Rt, GPR64sp:$Rn, 0)
22936      AsmString = "strb	$\x01, [$\x02]";
22937      break;
22938    }
22939    return false;
22940  case AArch64::STRBroX:
22941    if (MI->getNumOperands() == 5 &&
22942        MI->getOperand(0).isReg() &&
22943        MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
22944        MI->getOperand(1).isReg() &&
22945        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22946        MI->getOperand(2).isReg() &&
22947        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22948        MI->getOperand(3).isImm() &&
22949        MI->getOperand(3).getImm() == 0 &&
22950        MI->getOperand(4).isImm() &&
22951        MI->getOperand(4).getImm() == 0) {
22952      // (STRBroX FPR8Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
22953      AsmString = "str	$\x01, [$\x02, $\x03]";
22954      break;
22955    }
22956    return false;
22957  case AArch64::STRBui:
22958    if (MI->getNumOperands() == 3 &&
22959        MI->getOperand(0).isReg() &&
22960        MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
22961        MI->getOperand(1).isReg() &&
22962        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22963        MI->getOperand(2).isImm() &&
22964        MI->getOperand(2).getImm() == 0) {
22965      // (STRBui FPR8Op:$Rt, GPR64sp:$Rn, 0)
22966      AsmString = "str	$\x01, [$\x02]";
22967      break;
22968    }
22969    return false;
22970  case AArch64::STRDroX:
22971    if (MI->getNumOperands() == 5 &&
22972        MI->getOperand(0).isReg() &&
22973        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22974        MI->getOperand(1).isReg() &&
22975        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22976        MI->getOperand(2).isReg() &&
22977        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22978        MI->getOperand(3).isImm() &&
22979        MI->getOperand(3).getImm() == 0 &&
22980        MI->getOperand(4).isImm() &&
22981        MI->getOperand(4).getImm() == 0) {
22982      // (STRDroX FPR64Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
22983      AsmString = "str	$\x01, [$\x02, $\x03]";
22984      break;
22985    }
22986    return false;
22987  case AArch64::STRDui:
22988    if (MI->getNumOperands() == 3 &&
22989        MI->getOperand(0).isReg() &&
22990        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22991        MI->getOperand(1).isReg() &&
22992        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22993        MI->getOperand(2).isImm() &&
22994        MI->getOperand(2).getImm() == 0) {
22995      // (STRDui FPR64Op:$Rt, GPR64sp:$Rn, 0)
22996      AsmString = "str	$\x01, [$\x02]";
22997      break;
22998    }
22999    return false;
23000  case AArch64::STRHHroX:
23001    if (MI->getNumOperands() == 5 &&
23002        MI->getOperand(0).isReg() &&
23003        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23004        MI->getOperand(1).isReg() &&
23005        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23006        MI->getOperand(2).isReg() &&
23007        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23008        MI->getOperand(3).isImm() &&
23009        MI->getOperand(3).getImm() == 0 &&
23010        MI->getOperand(4).isImm() &&
23011        MI->getOperand(4).getImm() == 0) {
23012      // (STRHHroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
23013      AsmString = "strh	$\x01, [$\x02, $\x03]";
23014      break;
23015    }
23016    return false;
23017  case AArch64::STRHHui:
23018    if (MI->getNumOperands() == 3 &&
23019        MI->getOperand(0).isReg() &&
23020        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23021        MI->getOperand(1).isReg() &&
23022        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23023        MI->getOperand(2).isImm() &&
23024        MI->getOperand(2).getImm() == 0) {
23025      // (STRHHui GPR32z:$Rt, GPR64sp:$Rn, 0)
23026      AsmString = "strh	$\x01, [$\x02]";
23027      break;
23028    }
23029    return false;
23030  case AArch64::STRHroX:
23031    if (MI->getNumOperands() == 5 &&
23032        MI->getOperand(0).isReg() &&
23033        MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
23034        MI->getOperand(1).isReg() &&
23035        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23036        MI->getOperand(2).isReg() &&
23037        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23038        MI->getOperand(3).isImm() &&
23039        MI->getOperand(3).getImm() == 0 &&
23040        MI->getOperand(4).isImm() &&
23041        MI->getOperand(4).getImm() == 0) {
23042      // (STRHroX FPR16Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
23043      AsmString = "str	$\x01, [$\x02, $\x03]";
23044      break;
23045    }
23046    return false;
23047  case AArch64::STRHui:
23048    if (MI->getNumOperands() == 3 &&
23049        MI->getOperand(0).isReg() &&
23050        MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
23051        MI->getOperand(1).isReg() &&
23052        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23053        MI->getOperand(2).isImm() &&
23054        MI->getOperand(2).getImm() == 0) {
23055      // (STRHui FPR16Op:$Rt, GPR64sp:$Rn, 0)
23056      AsmString = "str	$\x01, [$\x02]";
23057      break;
23058    }
23059    return false;
23060  case AArch64::STRQroX:
23061    if (MI->getNumOperands() == 5 &&
23062        MI->getOperand(0).isReg() &&
23063        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
23064        MI->getOperand(1).isReg() &&
23065        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23066        MI->getOperand(2).isReg() &&
23067        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23068        MI->getOperand(3).isImm() &&
23069        MI->getOperand(3).getImm() == 0 &&
23070        MI->getOperand(4).isImm() &&
23071        MI->getOperand(4).getImm() == 0) {
23072      // (STRQroX FPR128Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
23073      AsmString = "str	$\x01, [$\x02, $\x03]";
23074      break;
23075    }
23076    return false;
23077  case AArch64::STRQui:
23078    if (MI->getNumOperands() == 3 &&
23079        MI->getOperand(0).isReg() &&
23080        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
23081        MI->getOperand(1).isReg() &&
23082        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23083        MI->getOperand(2).isImm() &&
23084        MI->getOperand(2).getImm() == 0) {
23085      // (STRQui FPR128Op:$Rt, GPR64sp:$Rn, 0)
23086      AsmString = "str	$\x01, [$\x02]";
23087      break;
23088    }
23089    return false;
23090  case AArch64::STRSroX:
23091    if (MI->getNumOperands() == 5 &&
23092        MI->getOperand(0).isReg() &&
23093        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23094        MI->getOperand(1).isReg() &&
23095        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23096        MI->getOperand(2).isReg() &&
23097        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23098        MI->getOperand(3).isImm() &&
23099        MI->getOperand(3).getImm() == 0 &&
23100        MI->getOperand(4).isImm() &&
23101        MI->getOperand(4).getImm() == 0) {
23102      // (STRSroX FPR32Op:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
23103      AsmString = "str	$\x01, [$\x02, $\x03]";
23104      break;
23105    }
23106    return false;
23107  case AArch64::STRSui:
23108    if (MI->getNumOperands() == 3 &&
23109        MI->getOperand(0).isReg() &&
23110        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23111        MI->getOperand(1).isReg() &&
23112        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23113        MI->getOperand(2).isImm() &&
23114        MI->getOperand(2).getImm() == 0) {
23115      // (STRSui FPR32Op:$Rt, GPR64sp:$Rn, 0)
23116      AsmString = "str	$\x01, [$\x02]";
23117      break;
23118    }
23119    return false;
23120  case AArch64::STRWroX:
23121    if (MI->getNumOperands() == 5 &&
23122        MI->getOperand(0).isReg() &&
23123        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23124        MI->getOperand(1).isReg() &&
23125        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23126        MI->getOperand(2).isReg() &&
23127        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23128        MI->getOperand(3).isImm() &&
23129        MI->getOperand(3).getImm() == 0 &&
23130        MI->getOperand(4).isImm() &&
23131        MI->getOperand(4).getImm() == 0) {
23132      // (STRWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
23133      AsmString = "str	$\x01, [$\x02, $\x03]";
23134      break;
23135    }
23136    return false;
23137  case AArch64::STRWui:
23138    if (MI->getNumOperands() == 3 &&
23139        MI->getOperand(0).isReg() &&
23140        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23141        MI->getOperand(1).isReg() &&
23142        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23143        MI->getOperand(2).isImm() &&
23144        MI->getOperand(2).getImm() == 0) {
23145      // (STRWui GPR32z:$Rt, GPR64sp:$Rn, 0)
23146      AsmString = "str	$\x01, [$\x02]";
23147      break;
23148    }
23149    return false;
23150  case AArch64::STRXroX:
23151    if (MI->getNumOperands() == 5 &&
23152        MI->getOperand(0).isReg() &&
23153        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23154        MI->getOperand(1).isReg() &&
23155        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23156        MI->getOperand(2).isReg() &&
23157        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23158        MI->getOperand(3).isImm() &&
23159        MI->getOperand(3).getImm() == 0 &&
23160        MI->getOperand(4).isImm() &&
23161        MI->getOperand(4).getImm() == 0) {
23162      // (STRXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
23163      AsmString = "str	$\x01, [$\x02, $\x03]";
23164      break;
23165    }
23166    return false;
23167  case AArch64::STRXui:
23168    if (MI->getNumOperands() == 3 &&
23169        MI->getOperand(0).isReg() &&
23170        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23171        MI->getOperand(1).isReg() &&
23172        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23173        MI->getOperand(2).isImm() &&
23174        MI->getOperand(2).getImm() == 0) {
23175      // (STRXui GPR64z:$Rt, GPR64sp:$Rn, 0)
23176      AsmString = "str	$\x01, [$\x02]";
23177      break;
23178    }
23179    return false;
23180  case AArch64::STR_PXI:
23181    if (MI->getNumOperands() == 3 &&
23182        MI->getOperand(0).isReg() &&
23183        MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23184        MI->getOperand(1).isReg() &&
23185        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23186        MI->getOperand(2).isImm() &&
23187        MI->getOperand(2).getImm() == 0 &&
23188        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23189      // (STR_PXI PPRAny:$Pt, GPR64sp:$Rn, 0)
23190      AsmString = "str	$\xFF\x01\x07, [$\x02]";
23191      break;
23192    }
23193    return false;
23194  case AArch64::STR_ZXI:
23195    if (MI->getNumOperands() == 3 &&
23196        MI->getOperand(0).isReg() &&
23197        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23198        MI->getOperand(1).isReg() &&
23199        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23200        MI->getOperand(2).isImm() &&
23201        MI->getOperand(2).getImm() == 0 &&
23202        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23203      // (STR_ZXI ZPRAny:$Zt, GPR64sp:$Rn, 0)
23204      AsmString = "str	$\xFF\x01\x07, [$\x02]";
23205      break;
23206    }
23207    return false;
23208  case AArch64::STTRBi:
23209    if (MI->getNumOperands() == 3 &&
23210        MI->getOperand(0).isReg() &&
23211        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23212        MI->getOperand(1).isReg() &&
23213        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23214        MI->getOperand(2).isImm() &&
23215        MI->getOperand(2).getImm() == 0) {
23216      // (STTRBi GPR32:$Rt, GPR64sp:$Rn, 0)
23217      AsmString = "sttrb	$\x01, [$\x02]";
23218      break;
23219    }
23220    return false;
23221  case AArch64::STTRHi:
23222    if (MI->getNumOperands() == 3 &&
23223        MI->getOperand(0).isReg() &&
23224        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23225        MI->getOperand(1).isReg() &&
23226        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23227        MI->getOperand(2).isImm() &&
23228        MI->getOperand(2).getImm() == 0) {
23229      // (STTRHi GPR32:$Rt, GPR64sp:$Rn, 0)
23230      AsmString = "sttrh	$\x01, [$\x02]";
23231      break;
23232    }
23233    return false;
23234  case AArch64::STTRWi:
23235    if (MI->getNumOperands() == 3 &&
23236        MI->getOperand(0).isReg() &&
23237        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23238        MI->getOperand(1).isReg() &&
23239        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23240        MI->getOperand(2).isImm() &&
23241        MI->getOperand(2).getImm() == 0) {
23242      // (STTRWi GPR32:$Rt, GPR64sp:$Rn, 0)
23243      AsmString = "sttr	$\x01, [$\x02]";
23244      break;
23245    }
23246    return false;
23247  case AArch64::STTRXi:
23248    if (MI->getNumOperands() == 3 &&
23249        MI->getOperand(0).isReg() &&
23250        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23251        MI->getOperand(1).isReg() &&
23252        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23253        MI->getOperand(2).isImm() &&
23254        MI->getOperand(2).getImm() == 0) {
23255      // (STTRXi GPR64:$Rt, GPR64sp:$Rn, 0)
23256      AsmString = "sttr	$\x01, [$\x02]";
23257      break;
23258    }
23259    return false;
23260  case AArch64::STURBBi:
23261    if (MI->getNumOperands() == 3 &&
23262        MI->getOperand(0).isReg() &&
23263        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23264        MI->getOperand(1).isReg() &&
23265        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23266        MI->getOperand(2).isImm() &&
23267        MI->getOperand(2).getImm() == 0) {
23268      // (STURBBi GPR32z:$Rt, GPR64sp:$Rn, 0)
23269      AsmString = "sturb	$\x01, [$\x02]";
23270      break;
23271    }
23272    return false;
23273  case AArch64::STURBi:
23274    if (MI->getNumOperands() == 3 &&
23275        MI->getOperand(0).isReg() &&
23276        MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
23277        MI->getOperand(1).isReg() &&
23278        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23279        MI->getOperand(2).isImm() &&
23280        MI->getOperand(2).getImm() == 0) {
23281      // (STURBi FPR8Op:$Rt, GPR64sp:$Rn, 0)
23282      AsmString = "stur	$\x01, [$\x02]";
23283      break;
23284    }
23285    return false;
23286  case AArch64::STURDi:
23287    if (MI->getNumOperands() == 3 &&
23288        MI->getOperand(0).isReg() &&
23289        MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23290        MI->getOperand(1).isReg() &&
23291        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23292        MI->getOperand(2).isImm() &&
23293        MI->getOperand(2).getImm() == 0) {
23294      // (STURDi FPR64Op:$Rt, GPR64sp:$Rn, 0)
23295      AsmString = "stur	$\x01, [$\x02]";
23296      break;
23297    }
23298    return false;
23299  case AArch64::STURHHi:
23300    if (MI->getNumOperands() == 3 &&
23301        MI->getOperand(0).isReg() &&
23302        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23303        MI->getOperand(1).isReg() &&
23304        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23305        MI->getOperand(2).isImm() &&
23306        MI->getOperand(2).getImm() == 0) {
23307      // (STURHHi GPR32z:$Rt, GPR64sp:$Rn, 0)
23308      AsmString = "sturh	$\x01, [$\x02]";
23309      break;
23310    }
23311    return false;
23312  case AArch64::STURHi:
23313    if (MI->getNumOperands() == 3 &&
23314        MI->getOperand(0).isReg() &&
23315        MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
23316        MI->getOperand(1).isReg() &&
23317        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23318        MI->getOperand(2).isImm() &&
23319        MI->getOperand(2).getImm() == 0) {
23320      // (STURHi FPR16Op:$Rt, GPR64sp:$Rn, 0)
23321      AsmString = "stur	$\x01, [$\x02]";
23322      break;
23323    }
23324    return false;
23325  case AArch64::STURQi:
23326    if (MI->getNumOperands() == 3 &&
23327        MI->getOperand(0).isReg() &&
23328        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
23329        MI->getOperand(1).isReg() &&
23330        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23331        MI->getOperand(2).isImm() &&
23332        MI->getOperand(2).getImm() == 0) {
23333      // (STURQi FPR128Op:$Rt, GPR64sp:$Rn, 0)
23334      AsmString = "stur	$\x01, [$\x02]";
23335      break;
23336    }
23337    return false;
23338  case AArch64::STURSi:
23339    if (MI->getNumOperands() == 3 &&
23340        MI->getOperand(0).isReg() &&
23341        MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23342        MI->getOperand(1).isReg() &&
23343        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23344        MI->getOperand(2).isImm() &&
23345        MI->getOperand(2).getImm() == 0) {
23346      // (STURSi FPR32Op:$Rt, GPR64sp:$Rn, 0)
23347      AsmString = "stur	$\x01, [$\x02]";
23348      break;
23349    }
23350    return false;
23351  case AArch64::STURWi:
23352    if (MI->getNumOperands() == 3 &&
23353        MI->getOperand(0).isReg() &&
23354        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23355        MI->getOperand(1).isReg() &&
23356        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23357        MI->getOperand(2).isImm() &&
23358        MI->getOperand(2).getImm() == 0) {
23359      // (STURWi GPR32z:$Rt, GPR64sp:$Rn, 0)
23360      AsmString = "stur	$\x01, [$\x02]";
23361      break;
23362    }
23363    return false;
23364  case AArch64::STURXi:
23365    if (MI->getNumOperands() == 3 &&
23366        MI->getOperand(0).isReg() &&
23367        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23368        MI->getOperand(1).isReg() &&
23369        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23370        MI->getOperand(2).isImm() &&
23371        MI->getOperand(2).getImm() == 0) {
23372      // (STURXi GPR64z:$Rt, GPR64sp:$Rn, 0)
23373      AsmString = "stur	$\x01, [$\x02]";
23374      break;
23375    }
23376    return false;
23377  case AArch64::SUBSWri:
23378    if (MI->getNumOperands() == 4 &&
23379        MI->getOperand(0).getReg() == AArch64::WZR &&
23380        MI->getOperand(1).isReg() &&
23381        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) {
23382      // (SUBSWri WZR, GPR32sp:$src, addsub_shifted_imm32:$imm)
23383      AsmString = "cmp	$\x02, $\xFF\x03\x01";
23384      break;
23385    }
23386    return false;
23387  case AArch64::SUBSWrs:
23388    if (MI->getNumOperands() == 4 &&
23389        MI->getOperand(0).getReg() == AArch64::WZR &&
23390        MI->getOperand(1).isReg() &&
23391        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23392        MI->getOperand(2).isReg() &&
23393        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23394        MI->getOperand(3).isImm() &&
23395        MI->getOperand(3).getImm() == 0) {
23396      // (SUBSWrs WZR, GPR32:$src1, GPR32:$src2, 0)
23397      AsmString = "cmp	$\x02, $\x03";
23398      break;
23399    }
23400    if (MI->getNumOperands() == 4 &&
23401        MI->getOperand(0).getReg() == AArch64::WZR &&
23402        MI->getOperand(1).isReg() &&
23403        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23404        MI->getOperand(2).isReg() &&
23405        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
23406      // (SUBSWrs WZR, GPR32:$src1, GPR32:$src2, arith_shift32:$sh)
23407      AsmString = "cmp	$\x02, $\x03$\xFF\x04\x02";
23408      break;
23409    }
23410    if (MI->getNumOperands() == 4 &&
23411        MI->getOperand(0).isReg() &&
23412        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23413        MI->getOperand(1).getReg() == AArch64::WZR &&
23414        MI->getOperand(2).isReg() &&
23415        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23416        MI->getOperand(3).isImm() &&
23417        MI->getOperand(3).getImm() == 0) {
23418      // (SUBSWrs GPR32:$dst, WZR, GPR32:$src, 0)
23419      AsmString = "negs $\x01, $\x03";
23420      break;
23421    }
23422    if (MI->getNumOperands() == 4 &&
23423        MI->getOperand(0).isReg() &&
23424        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23425        MI->getOperand(1).getReg() == AArch64::WZR &&
23426        MI->getOperand(2).isReg() &&
23427        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
23428      // (SUBSWrs GPR32:$dst, WZR, GPR32:$src, arith_shift32:$shift)
23429      AsmString = "negs $\x01, $\x03$\xFF\x04\x02";
23430      break;
23431    }
23432    if (MI->getNumOperands() == 4 &&
23433        MI->getOperand(0).isReg() &&
23434        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23435        MI->getOperand(1).isReg() &&
23436        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23437        MI->getOperand(2).isReg() &&
23438        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23439        MI->getOperand(3).isImm() &&
23440        MI->getOperand(3).getImm() == 0) {
23441      // (SUBSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
23442      AsmString = "subs	$\x01, $\x02, $\x03";
23443      break;
23444    }
23445    return false;
23446  case AArch64::SUBSWrx:
23447    if (MI->getNumOperands() == 4 &&
23448        MI->getOperand(0).getReg() == AArch64::WZR &&
23449        MI->getOperand(1).isReg() &&
23450        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
23451        MI->getOperand(2).isReg() &&
23452        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23453        MI->getOperand(3).isImm() &&
23454        MI->getOperand(3).getImm() == 16) {
23455      // (SUBSWrx WZR, GPR32sponly:$src1, GPR32:$src2, 16)
23456      AsmString = "cmp	$\x02, $\x03";
23457      break;
23458    }
23459    if (MI->getNumOperands() == 4 &&
23460        MI->getOperand(0).getReg() == AArch64::WZR &&
23461        MI->getOperand(1).isReg() &&
23462        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
23463        MI->getOperand(2).isReg() &&
23464        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
23465      // (SUBSWrx WZR, GPR32sp:$src1, GPR32:$src2, arith_extend:$sh)
23466      AsmString = "cmp	$\x02, $\x03$\xFF\x04\x03";
23467      break;
23468    }
23469    if (MI->getNumOperands() == 4 &&
23470        MI->getOperand(0).isReg() &&
23471        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23472        MI->getOperand(1).isReg() &&
23473        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
23474        MI->getOperand(2).isReg() &&
23475        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23476        MI->getOperand(3).isImm() &&
23477        MI->getOperand(3).getImm() == 16) {
23478      // (SUBSWrx GPR32:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
23479      AsmString = "subs	$\x01, $\x02, $\x03";
23480      break;
23481    }
23482    return false;
23483  case AArch64::SUBSXri:
23484    if (MI->getNumOperands() == 4 &&
23485        MI->getOperand(0).getReg() == AArch64::XZR &&
23486        MI->getOperand(1).isReg() &&
23487        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) {
23488      // (SUBSXri XZR, GPR64sp:$src, addsub_shifted_imm64:$imm)
23489      AsmString = "cmp	$\x02, $\xFF\x03\x01";
23490      break;
23491    }
23492    return false;
23493  case AArch64::SUBSXrs:
23494    if (MI->getNumOperands() == 4 &&
23495        MI->getOperand(0).getReg() == AArch64::XZR &&
23496        MI->getOperand(1).isReg() &&
23497        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23498        MI->getOperand(2).isReg() &&
23499        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23500        MI->getOperand(3).isImm() &&
23501        MI->getOperand(3).getImm() == 0) {
23502      // (SUBSXrs XZR, GPR64:$src1, GPR64:$src2, 0)
23503      AsmString = "cmp	$\x02, $\x03";
23504      break;
23505    }
23506    if (MI->getNumOperands() == 4 &&
23507        MI->getOperand(0).getReg() == AArch64::XZR &&
23508        MI->getOperand(1).isReg() &&
23509        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23510        MI->getOperand(2).isReg() &&
23511        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
23512      // (SUBSXrs XZR, GPR64:$src1, GPR64:$src2, arith_shift64:$sh)
23513      AsmString = "cmp	$\x02, $\x03$\xFF\x04\x02";
23514      break;
23515    }
23516    if (MI->getNumOperands() == 4 &&
23517        MI->getOperand(0).isReg() &&
23518        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23519        MI->getOperand(1).getReg() == AArch64::XZR &&
23520        MI->getOperand(2).isReg() &&
23521        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23522        MI->getOperand(3).isImm() &&
23523        MI->getOperand(3).getImm() == 0) {
23524      // (SUBSXrs GPR64:$dst, XZR, GPR64:$src, 0)
23525      AsmString = "negs $\x01, $\x03";
23526      break;
23527    }
23528    if (MI->getNumOperands() == 4 &&
23529        MI->getOperand(0).isReg() &&
23530        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23531        MI->getOperand(1).getReg() == AArch64::XZR &&
23532        MI->getOperand(2).isReg() &&
23533        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
23534      // (SUBSXrs GPR64:$dst, XZR, GPR64:$src, arith_shift64:$shift)
23535      AsmString = "negs $\x01, $\x03$\xFF\x04\x02";
23536      break;
23537    }
23538    if (MI->getNumOperands() == 4 &&
23539        MI->getOperand(0).isReg() &&
23540        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23541        MI->getOperand(1).isReg() &&
23542        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23543        MI->getOperand(2).isReg() &&
23544        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23545        MI->getOperand(3).isImm() &&
23546        MI->getOperand(3).getImm() == 0) {
23547      // (SUBSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
23548      AsmString = "subs	$\x01, $\x02, $\x03";
23549      break;
23550    }
23551    return false;
23552  case AArch64::SUBSXrx:
23553    if (MI->getNumOperands() == 4 &&
23554        MI->getOperand(0).getReg() == AArch64::XZR &&
23555        MI->getOperand(1).isReg() &&
23556        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23557        MI->getOperand(2).isReg() &&
23558        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
23559      // (SUBSXrx XZR, GPR64sp:$src1, GPR32:$src2, arith_extend:$sh)
23560      AsmString = "cmp	$\x02, $\x03$\xFF\x04\x03";
23561      break;
23562    }
23563    return false;
23564  case AArch64::SUBSXrx64:
23565    if (MI->getNumOperands() == 4 &&
23566        MI->getOperand(0).getReg() == AArch64::XZR &&
23567        MI->getOperand(1).isReg() &&
23568        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
23569        MI->getOperand(2).isReg() &&
23570        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23571        MI->getOperand(3).isImm() &&
23572        MI->getOperand(3).getImm() == 24) {
23573      // (SUBSXrx64 XZR, GPR64sponly:$src1, GPR64:$src2, 24)
23574      AsmString = "cmp	$\x02, $\x03";
23575      break;
23576    }
23577    if (MI->getNumOperands() == 4 &&
23578        MI->getOperand(0).getReg() == AArch64::XZR &&
23579        MI->getOperand(1).isReg() &&
23580        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23581        MI->getOperand(2).isReg() &&
23582        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
23583      // (SUBSXrx64 XZR, GPR64sp:$src1, GPR64:$src2, arith_extendlsl64:$sh)
23584      AsmString = "cmp	$\x02, $\x03$\xFF\x04\x03";
23585      break;
23586    }
23587    if (MI->getNumOperands() == 4 &&
23588        MI->getOperand(0).isReg() &&
23589        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23590        MI->getOperand(1).isReg() &&
23591        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
23592        MI->getOperand(2).isReg() &&
23593        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23594        MI->getOperand(3).isImm() &&
23595        MI->getOperand(3).getImm() == 24) {
23596      // (SUBSXrx64 GPR64:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
23597      AsmString = "subs	$\x01, $\x02, $\x03";
23598      break;
23599    }
23600    return false;
23601  case AArch64::SUBWrs:
23602    if (MI->getNumOperands() == 4 &&
23603        MI->getOperand(0).isReg() &&
23604        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23605        MI->getOperand(1).getReg() == AArch64::WZR &&
23606        MI->getOperand(2).isReg() &&
23607        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23608        MI->getOperand(3).isImm() &&
23609        MI->getOperand(3).getImm() == 0) {
23610      // (SUBWrs GPR32:$dst, WZR, GPR32:$src, 0)
23611      AsmString = "neg $\x01, $\x03";
23612      break;
23613    }
23614    if (MI->getNumOperands() == 4 &&
23615        MI->getOperand(0).isReg() &&
23616        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23617        MI->getOperand(1).getReg() == AArch64::WZR &&
23618        MI->getOperand(2).isReg() &&
23619        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
23620      // (SUBWrs GPR32:$dst, WZR, GPR32:$src, arith_shift32:$shift)
23621      AsmString = "neg $\x01, $\x03$\xFF\x04\x02";
23622      break;
23623    }
23624    if (MI->getNumOperands() == 4 &&
23625        MI->getOperand(0).isReg() &&
23626        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23627        MI->getOperand(1).isReg() &&
23628        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23629        MI->getOperand(2).isReg() &&
23630        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23631        MI->getOperand(3).isImm() &&
23632        MI->getOperand(3).getImm() == 0) {
23633      // (SUBWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
23634      AsmString = "sub	$\x01, $\x02, $\x03";
23635      break;
23636    }
23637    return false;
23638  case AArch64::SUBWrx:
23639    if (MI->getNumOperands() == 4 &&
23640        MI->getOperand(0).isReg() &&
23641        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
23642        MI->getOperand(1).isReg() &&
23643        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
23644        MI->getOperand(2).isReg() &&
23645        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23646        MI->getOperand(3).isImm() &&
23647        MI->getOperand(3).getImm() == 16) {
23648      // (SUBWrx GPR32sponly:$dst, GPR32sp:$src1, GPR32:$src2, 16)
23649      AsmString = "sub	$\x01, $\x02, $\x03";
23650      break;
23651    }
23652    if (MI->getNumOperands() == 4 &&
23653        MI->getOperand(0).isReg() &&
23654        MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
23655        MI->getOperand(1).isReg() &&
23656        MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
23657        MI->getOperand(2).isReg() &&
23658        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23659        MI->getOperand(3).isImm() &&
23660        MI->getOperand(3).getImm() == 16) {
23661      // (SUBWrx GPR32sp:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
23662      AsmString = "sub	$\x01, $\x02, $\x03";
23663      break;
23664    }
23665    return false;
23666  case AArch64::SUBXrs:
23667    if (MI->getNumOperands() == 4 &&
23668        MI->getOperand(0).isReg() &&
23669        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23670        MI->getOperand(1).getReg() == AArch64::XZR &&
23671        MI->getOperand(2).isReg() &&
23672        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23673        MI->getOperand(3).isImm() &&
23674        MI->getOperand(3).getImm() == 0) {
23675      // (SUBXrs GPR64:$dst, XZR, GPR64:$src, 0)
23676      AsmString = "neg $\x01, $\x03";
23677      break;
23678    }
23679    if (MI->getNumOperands() == 4 &&
23680        MI->getOperand(0).isReg() &&
23681        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23682        MI->getOperand(1).getReg() == AArch64::XZR &&
23683        MI->getOperand(2).isReg() &&
23684        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
23685      // (SUBXrs GPR64:$dst, XZR, GPR64:$src, arith_shift64:$shift)
23686      AsmString = "neg $\x01, $\x03$\xFF\x04\x02";
23687      break;
23688    }
23689    if (MI->getNumOperands() == 4 &&
23690        MI->getOperand(0).isReg() &&
23691        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23692        MI->getOperand(1).isReg() &&
23693        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23694        MI->getOperand(2).isReg() &&
23695        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23696        MI->getOperand(3).isImm() &&
23697        MI->getOperand(3).getImm() == 0) {
23698      // (SUBXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
23699      AsmString = "sub	$\x01, $\x02, $\x03";
23700      break;
23701    }
23702    return false;
23703  case AArch64::SUBXrx64:
23704    if (MI->getNumOperands() == 4 &&
23705        MI->getOperand(0).isReg() &&
23706        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
23707        MI->getOperand(1).isReg() &&
23708        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23709        MI->getOperand(2).isReg() &&
23710        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23711        MI->getOperand(3).isImm() &&
23712        MI->getOperand(3).getImm() == 24) {
23713      // (SUBXrx64 GPR64sponly:$dst, GPR64sp:$src1, GPR64:$src2, 24)
23714      AsmString = "sub	$\x01, $\x02, $\x03";
23715      break;
23716    }
23717    if (MI->getNumOperands() == 4 &&
23718        MI->getOperand(0).isReg() &&
23719        MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23720        MI->getOperand(1).isReg() &&
23721        MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
23722        MI->getOperand(2).isReg() &&
23723        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23724        MI->getOperand(3).isImm() &&
23725        MI->getOperand(3).getImm() == 24) {
23726      // (SUBXrx64 GPR64sp:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
23727      AsmString = "sub	$\x01, $\x02, $\x03";
23728      break;
23729    }
23730    return false;
23731  case AArch64::SYSxt:
23732    if (MI->getNumOperands() == 5 &&
23733        MI->getOperand(4).getReg() == AArch64::XZR) {
23734      // (SYSxt imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2, XZR)
23735      AsmString = "sys $\x01, $\xFF\x02\x35, $\xFF\x03\x35, $\x04";
23736      break;
23737    }
23738    return false;
23739  case AArch64::UBFMWri:
23740    if (MI->getNumOperands() == 4 &&
23741        MI->getOperand(0).isReg() &&
23742        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23743        MI->getOperand(1).isReg() &&
23744        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23745        MI->getOperand(3).isImm() &&
23746        MI->getOperand(3).getImm() == 31) {
23747      // (UBFMWri GPR32:$dst, GPR32:$src, imm0_31:$shift, 31)
23748      AsmString = "lsr $\x01, $\x02, $\x03";
23749      break;
23750    }
23751    if (MI->getNumOperands() == 4 &&
23752        MI->getOperand(0).isReg() &&
23753        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23754        MI->getOperand(1).isReg() &&
23755        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23756        MI->getOperand(2).isImm() &&
23757        MI->getOperand(2).getImm() == 0 &&
23758        MI->getOperand(3).isImm() &&
23759        MI->getOperand(3).getImm() == 7) {
23760      // (UBFMWri GPR32:$dst, GPR32:$src, 0, 7)
23761      AsmString = "uxtb $\x01, $\x02";
23762      break;
23763    }
23764    if (MI->getNumOperands() == 4 &&
23765        MI->getOperand(0).isReg() &&
23766        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23767        MI->getOperand(1).isReg() &&
23768        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23769        MI->getOperand(2).isImm() &&
23770        MI->getOperand(2).getImm() == 0 &&
23771        MI->getOperand(3).isImm() &&
23772        MI->getOperand(3).getImm() == 15) {
23773      // (UBFMWri GPR32:$dst, GPR32:$src, 0, 15)
23774      AsmString = "uxth $\x01, $\x02";
23775      break;
23776    }
23777    return false;
23778  case AArch64::UBFMXri:
23779    if (MI->getNumOperands() == 4 &&
23780        MI->getOperand(0).isReg() &&
23781        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23782        MI->getOperand(1).isReg() &&
23783        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23784        MI->getOperand(3).isImm() &&
23785        MI->getOperand(3).getImm() == 63) {
23786      // (UBFMXri GPR64:$dst, GPR64:$src, imm0_63:$shift, 63)
23787      AsmString = "lsr $\x01, $\x02, $\x03";
23788      break;
23789    }
23790    if (MI->getNumOperands() == 4 &&
23791        MI->getOperand(0).isReg() &&
23792        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23793        MI->getOperand(1).isReg() &&
23794        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23795        MI->getOperand(2).isImm() &&
23796        MI->getOperand(2).getImm() == 0 &&
23797        MI->getOperand(3).isImm() &&
23798        MI->getOperand(3).getImm() == 7) {
23799      // (UBFMXri GPR64:$dst, GPR64:$src, 0, 7)
23800      AsmString = "uxtb $\x01, $\x02";
23801      break;
23802    }
23803    if (MI->getNumOperands() == 4 &&
23804        MI->getOperand(0).isReg() &&
23805        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23806        MI->getOperand(1).isReg() &&
23807        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23808        MI->getOperand(2).isImm() &&
23809        MI->getOperand(2).getImm() == 0 &&
23810        MI->getOperand(3).isImm() &&
23811        MI->getOperand(3).getImm() == 15) {
23812      // (UBFMXri GPR64:$dst, GPR64:$src, 0, 15)
23813      AsmString = "uxth $\x01, $\x02";
23814      break;
23815    }
23816    if (MI->getNumOperands() == 4 &&
23817        MI->getOperand(0).isReg() &&
23818        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23819        MI->getOperand(1).isReg() &&
23820        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23821        MI->getOperand(2).isImm() &&
23822        MI->getOperand(2).getImm() == 0 &&
23823        MI->getOperand(3).isImm() &&
23824        MI->getOperand(3).getImm() == 31) {
23825      // (UBFMXri GPR64:$dst, GPR64:$src, 0, 31)
23826      AsmString = "uxtw $\x01, $\x02";
23827      break;
23828    }
23829    return false;
23830  case AArch64::UMADDLrrr:
23831    if (MI->getNumOperands() == 4 &&
23832        MI->getOperand(0).isReg() &&
23833        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23834        MI->getOperand(1).isReg() &&
23835        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23836        MI->getOperand(2).isReg() &&
23837        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23838        MI->getOperand(3).getReg() == AArch64::XZR) {
23839      // (UMADDLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
23840      AsmString = "umull	$\x01, $\x02, $\x03";
23841      break;
23842    }
23843    return false;
23844  case AArch64::UMOVvi32:
23845    if (MI->getNumOperands() == 3 &&
23846        MI->getOperand(0).isReg() &&
23847        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23848        MI->getOperand(1).isReg() &&
23849        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
23850        STI.getFeatureBits()[AArch64::FeatureNEON]) {
23851      // (UMOVvi32 GPR32:$dst, V128:$src, VectorIndexS:$idx)
23852      AsmString = "mov	$\x01, $\xFF\x02\x0C.s$\xFF\x03\x19";
23853      break;
23854    }
23855    return false;
23856  case AArch64::UMOVvi64:
23857    if (MI->getNumOperands() == 3 &&
23858        MI->getOperand(0).isReg() &&
23859        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23860        MI->getOperand(1).isReg() &&
23861        MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
23862        STI.getFeatureBits()[AArch64::FeatureNEON]) {
23863      // (UMOVvi64 GPR64:$dst, V128:$src, VectorIndexD:$idx)
23864      AsmString = "mov	$\x01, $\xFF\x02\x0C.d$\xFF\x03\x19";
23865      break;
23866    }
23867    return false;
23868  case AArch64::UMSUBLrrr:
23869    if (MI->getNumOperands() == 4 &&
23870        MI->getOperand(0).isReg() &&
23871        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23872        MI->getOperand(1).isReg() &&
23873        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23874        MI->getOperand(2).isReg() &&
23875        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23876        MI->getOperand(3).getReg() == AArch64::XZR) {
23877      // (UMSUBLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
23878      AsmString = "umnegl	$\x01, $\x02, $\x03";
23879      break;
23880    }
23881    return false;
23882  case AArch64::UQDECB_WPiI:
23883    if (MI->getNumOperands() == 4 &&
23884        MI->getOperand(0).isReg() &&
23885        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23886        MI->getOperand(2).isImm() &&
23887        MI->getOperand(2).getImm() == 31 &&
23888        MI->getOperand(3).isImm() &&
23889        MI->getOperand(3).getImm() == 1 &&
23890        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23891      // (UQDECB_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
23892      AsmString = "uqdecb	$\x01";
23893      break;
23894    }
23895    if (MI->getNumOperands() == 4 &&
23896        MI->getOperand(0).isReg() &&
23897        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23898        MI->getOperand(3).isImm() &&
23899        MI->getOperand(3).getImm() == 1 &&
23900        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23901      // (UQDECB_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
23902      AsmString = "uqdecb	$\x01, $\xFF\x03\x0E";
23903      break;
23904    }
23905    return false;
23906  case AArch64::UQDECB_XPiI:
23907    if (MI->getNumOperands() == 4 &&
23908        MI->getOperand(0).isReg() &&
23909        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23910        MI->getOperand(2).isImm() &&
23911        MI->getOperand(2).getImm() == 31 &&
23912        MI->getOperand(3).isImm() &&
23913        MI->getOperand(3).getImm() == 1 &&
23914        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23915      // (UQDECB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
23916      AsmString = "uqdecb	$\x01";
23917      break;
23918    }
23919    if (MI->getNumOperands() == 4 &&
23920        MI->getOperand(0).isReg() &&
23921        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23922        MI->getOperand(3).isImm() &&
23923        MI->getOperand(3).getImm() == 1 &&
23924        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23925      // (UQDECB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
23926      AsmString = "uqdecb	$\x01, $\xFF\x03\x0E";
23927      break;
23928    }
23929    return false;
23930  case AArch64::UQDECD_WPiI:
23931    if (MI->getNumOperands() == 4 &&
23932        MI->getOperand(0).isReg() &&
23933        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23934        MI->getOperand(2).isImm() &&
23935        MI->getOperand(2).getImm() == 31 &&
23936        MI->getOperand(3).isImm() &&
23937        MI->getOperand(3).getImm() == 1 &&
23938        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23939      // (UQDECD_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
23940      AsmString = "uqdecd	$\x01";
23941      break;
23942    }
23943    if (MI->getNumOperands() == 4 &&
23944        MI->getOperand(0).isReg() &&
23945        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23946        MI->getOperand(3).isImm() &&
23947        MI->getOperand(3).getImm() == 1 &&
23948        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23949      // (UQDECD_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
23950      AsmString = "uqdecd	$\x01, $\xFF\x03\x0E";
23951      break;
23952    }
23953    return false;
23954  case AArch64::UQDECD_XPiI:
23955    if (MI->getNumOperands() == 4 &&
23956        MI->getOperand(0).isReg() &&
23957        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23958        MI->getOperand(2).isImm() &&
23959        MI->getOperand(2).getImm() == 31 &&
23960        MI->getOperand(3).isImm() &&
23961        MI->getOperand(3).getImm() == 1 &&
23962        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23963      // (UQDECD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
23964      AsmString = "uqdecd	$\x01";
23965      break;
23966    }
23967    if (MI->getNumOperands() == 4 &&
23968        MI->getOperand(0).isReg() &&
23969        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23970        MI->getOperand(3).isImm() &&
23971        MI->getOperand(3).getImm() == 1 &&
23972        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23973      // (UQDECD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
23974      AsmString = "uqdecd	$\x01, $\xFF\x03\x0E";
23975      break;
23976    }
23977    return false;
23978  case AArch64::UQDECD_ZPiI:
23979    if (MI->getNumOperands() == 4 &&
23980        MI->getOperand(0).isReg() &&
23981        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23982        MI->getOperand(2).isImm() &&
23983        MI->getOperand(2).getImm() == 31 &&
23984        MI->getOperand(3).isImm() &&
23985        MI->getOperand(3).getImm() == 1 &&
23986        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23987      // (UQDECD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1)
23988      AsmString = "uqdecd	$\xFF\x01\x10";
23989      break;
23990    }
23991    if (MI->getNumOperands() == 4 &&
23992        MI->getOperand(0).isReg() &&
23993        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23994        MI->getOperand(3).isImm() &&
23995        MI->getOperand(3).getImm() == 1 &&
23996        STI.getFeatureBits()[AArch64::FeatureSVE]) {
23997      // (UQDECD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1)
23998      AsmString = "uqdecd	$\xFF\x01\x10, $\xFF\x03\x0E";
23999      break;
24000    }
24001    return false;
24002  case AArch64::UQDECH_WPiI:
24003    if (MI->getNumOperands() == 4 &&
24004        MI->getOperand(0).isReg() &&
24005        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24006        MI->getOperand(2).isImm() &&
24007        MI->getOperand(2).getImm() == 31 &&
24008        MI->getOperand(3).isImm() &&
24009        MI->getOperand(3).getImm() == 1 &&
24010        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24011      // (UQDECH_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24012      AsmString = "uqdech	$\x01";
24013      break;
24014    }
24015    if (MI->getNumOperands() == 4 &&
24016        MI->getOperand(0).isReg() &&
24017        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24018        MI->getOperand(3).isImm() &&
24019        MI->getOperand(3).getImm() == 1 &&
24020        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24021      // (UQDECH_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
24022      AsmString = "uqdech	$\x01, $\xFF\x03\x0E";
24023      break;
24024    }
24025    return false;
24026  case AArch64::UQDECH_XPiI:
24027    if (MI->getNumOperands() == 4 &&
24028        MI->getOperand(0).isReg() &&
24029        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24030        MI->getOperand(2).isImm() &&
24031        MI->getOperand(2).getImm() == 31 &&
24032        MI->getOperand(3).isImm() &&
24033        MI->getOperand(3).getImm() == 1 &&
24034        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24035      // (UQDECH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24036      AsmString = "uqdech	$\x01";
24037      break;
24038    }
24039    if (MI->getNumOperands() == 4 &&
24040        MI->getOperand(0).isReg() &&
24041        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24042        MI->getOperand(3).isImm() &&
24043        MI->getOperand(3).getImm() == 1 &&
24044        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24045      // (UQDECH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
24046      AsmString = "uqdech	$\x01, $\xFF\x03\x0E";
24047      break;
24048    }
24049    return false;
24050  case AArch64::UQDECH_ZPiI:
24051    if (MI->getNumOperands() == 4 &&
24052        MI->getOperand(0).isReg() &&
24053        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24054        MI->getOperand(2).isImm() &&
24055        MI->getOperand(2).getImm() == 31 &&
24056        MI->getOperand(3).isImm() &&
24057        MI->getOperand(3).getImm() == 1 &&
24058        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24059      // (UQDECH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1)
24060      AsmString = "uqdech	$\xFF\x01\x09";
24061      break;
24062    }
24063    if (MI->getNumOperands() == 4 &&
24064        MI->getOperand(0).isReg() &&
24065        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24066        MI->getOperand(3).isImm() &&
24067        MI->getOperand(3).getImm() == 1 &&
24068        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24069      // (UQDECH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1)
24070      AsmString = "uqdech	$\xFF\x01\x09, $\xFF\x03\x0E";
24071      break;
24072    }
24073    return false;
24074  case AArch64::UQDECW_WPiI:
24075    if (MI->getNumOperands() == 4 &&
24076        MI->getOperand(0).isReg() &&
24077        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24078        MI->getOperand(2).isImm() &&
24079        MI->getOperand(2).getImm() == 31 &&
24080        MI->getOperand(3).isImm() &&
24081        MI->getOperand(3).getImm() == 1 &&
24082        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24083      // (UQDECW_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24084      AsmString = "uqdecw	$\x01";
24085      break;
24086    }
24087    if (MI->getNumOperands() == 4 &&
24088        MI->getOperand(0).isReg() &&
24089        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24090        MI->getOperand(3).isImm() &&
24091        MI->getOperand(3).getImm() == 1 &&
24092        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24093      // (UQDECW_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
24094      AsmString = "uqdecw	$\x01, $\xFF\x03\x0E";
24095      break;
24096    }
24097    return false;
24098  case AArch64::UQDECW_XPiI:
24099    if (MI->getNumOperands() == 4 &&
24100        MI->getOperand(0).isReg() &&
24101        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24102        MI->getOperand(2).isImm() &&
24103        MI->getOperand(2).getImm() == 31 &&
24104        MI->getOperand(3).isImm() &&
24105        MI->getOperand(3).getImm() == 1 &&
24106        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24107      // (UQDECW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24108      AsmString = "uqdecw	$\x01";
24109      break;
24110    }
24111    if (MI->getNumOperands() == 4 &&
24112        MI->getOperand(0).isReg() &&
24113        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24114        MI->getOperand(3).isImm() &&
24115        MI->getOperand(3).getImm() == 1 &&
24116        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24117      // (UQDECW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
24118      AsmString = "uqdecw	$\x01, $\xFF\x03\x0E";
24119      break;
24120    }
24121    return false;
24122  case AArch64::UQDECW_ZPiI:
24123    if (MI->getNumOperands() == 4 &&
24124        MI->getOperand(0).isReg() &&
24125        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24126        MI->getOperand(2).isImm() &&
24127        MI->getOperand(2).getImm() == 31 &&
24128        MI->getOperand(3).isImm() &&
24129        MI->getOperand(3).getImm() == 1 &&
24130        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24131      // (UQDECW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1)
24132      AsmString = "uqdecw	$\xFF\x01\x0B";
24133      break;
24134    }
24135    if (MI->getNumOperands() == 4 &&
24136        MI->getOperand(0).isReg() &&
24137        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24138        MI->getOperand(3).isImm() &&
24139        MI->getOperand(3).getImm() == 1 &&
24140        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24141      // (UQDECW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1)
24142      AsmString = "uqdecw	$\xFF\x01\x0B, $\xFF\x03\x0E";
24143      break;
24144    }
24145    return false;
24146  case AArch64::UQINCB_WPiI:
24147    if (MI->getNumOperands() == 4 &&
24148        MI->getOperand(0).isReg() &&
24149        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24150        MI->getOperand(2).isImm() &&
24151        MI->getOperand(2).getImm() == 31 &&
24152        MI->getOperand(3).isImm() &&
24153        MI->getOperand(3).getImm() == 1 &&
24154        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24155      // (UQINCB_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24156      AsmString = "uqincb	$\x01";
24157      break;
24158    }
24159    if (MI->getNumOperands() == 4 &&
24160        MI->getOperand(0).isReg() &&
24161        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24162        MI->getOperand(3).isImm() &&
24163        MI->getOperand(3).getImm() == 1 &&
24164        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24165      // (UQINCB_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
24166      AsmString = "uqincb	$\x01, $\xFF\x03\x0E";
24167      break;
24168    }
24169    return false;
24170  case AArch64::UQINCB_XPiI:
24171    if (MI->getNumOperands() == 4 &&
24172        MI->getOperand(0).isReg() &&
24173        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24174        MI->getOperand(2).isImm() &&
24175        MI->getOperand(2).getImm() == 31 &&
24176        MI->getOperand(3).isImm() &&
24177        MI->getOperand(3).getImm() == 1 &&
24178        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24179      // (UQINCB_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24180      AsmString = "uqincb	$\x01";
24181      break;
24182    }
24183    if (MI->getNumOperands() == 4 &&
24184        MI->getOperand(0).isReg() &&
24185        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24186        MI->getOperand(3).isImm() &&
24187        MI->getOperand(3).getImm() == 1 &&
24188        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24189      // (UQINCB_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
24190      AsmString = "uqincb	$\x01, $\xFF\x03\x0E";
24191      break;
24192    }
24193    return false;
24194  case AArch64::UQINCD_WPiI:
24195    if (MI->getNumOperands() == 4 &&
24196        MI->getOperand(0).isReg() &&
24197        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24198        MI->getOperand(2).isImm() &&
24199        MI->getOperand(2).getImm() == 31 &&
24200        MI->getOperand(3).isImm() &&
24201        MI->getOperand(3).getImm() == 1 &&
24202        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24203      // (UQINCD_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24204      AsmString = "uqincd	$\x01";
24205      break;
24206    }
24207    if (MI->getNumOperands() == 4 &&
24208        MI->getOperand(0).isReg() &&
24209        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24210        MI->getOperand(3).isImm() &&
24211        MI->getOperand(3).getImm() == 1 &&
24212        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24213      // (UQINCD_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
24214      AsmString = "uqincd	$\x01, $\xFF\x03\x0E";
24215      break;
24216    }
24217    return false;
24218  case AArch64::UQINCD_XPiI:
24219    if (MI->getNumOperands() == 4 &&
24220        MI->getOperand(0).isReg() &&
24221        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24222        MI->getOperand(2).isImm() &&
24223        MI->getOperand(2).getImm() == 31 &&
24224        MI->getOperand(3).isImm() &&
24225        MI->getOperand(3).getImm() == 1 &&
24226        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24227      // (UQINCD_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24228      AsmString = "uqincd	$\x01";
24229      break;
24230    }
24231    if (MI->getNumOperands() == 4 &&
24232        MI->getOperand(0).isReg() &&
24233        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24234        MI->getOperand(3).isImm() &&
24235        MI->getOperand(3).getImm() == 1 &&
24236        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24237      // (UQINCD_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
24238      AsmString = "uqincd	$\x01, $\xFF\x03\x0E";
24239      break;
24240    }
24241    return false;
24242  case AArch64::UQINCD_ZPiI:
24243    if (MI->getNumOperands() == 4 &&
24244        MI->getOperand(0).isReg() &&
24245        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24246        MI->getOperand(2).isImm() &&
24247        MI->getOperand(2).getImm() == 31 &&
24248        MI->getOperand(3).isImm() &&
24249        MI->getOperand(3).getImm() == 1 &&
24250        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24251      // (UQINCD_ZPiI ZPR64:$Zdn, { 1, 1, 1, 1, 1 }, 1)
24252      AsmString = "uqincd	$\xFF\x01\x10";
24253      break;
24254    }
24255    if (MI->getNumOperands() == 4 &&
24256        MI->getOperand(0).isReg() &&
24257        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24258        MI->getOperand(3).isImm() &&
24259        MI->getOperand(3).getImm() == 1 &&
24260        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24261      // (UQINCD_ZPiI ZPR64:$Zdn, sve_pred_enum:$pattern, 1)
24262      AsmString = "uqincd	$\xFF\x01\x10, $\xFF\x03\x0E";
24263      break;
24264    }
24265    return false;
24266  case AArch64::UQINCH_WPiI:
24267    if (MI->getNumOperands() == 4 &&
24268        MI->getOperand(0).isReg() &&
24269        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24270        MI->getOperand(2).isImm() &&
24271        MI->getOperand(2).getImm() == 31 &&
24272        MI->getOperand(3).isImm() &&
24273        MI->getOperand(3).getImm() == 1 &&
24274        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24275      // (UQINCH_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24276      AsmString = "uqinch	$\x01";
24277      break;
24278    }
24279    if (MI->getNumOperands() == 4 &&
24280        MI->getOperand(0).isReg() &&
24281        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24282        MI->getOperand(3).isImm() &&
24283        MI->getOperand(3).getImm() == 1 &&
24284        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24285      // (UQINCH_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
24286      AsmString = "uqinch	$\x01, $\xFF\x03\x0E";
24287      break;
24288    }
24289    return false;
24290  case AArch64::UQINCH_XPiI:
24291    if (MI->getNumOperands() == 4 &&
24292        MI->getOperand(0).isReg() &&
24293        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24294        MI->getOperand(2).isImm() &&
24295        MI->getOperand(2).getImm() == 31 &&
24296        MI->getOperand(3).isImm() &&
24297        MI->getOperand(3).getImm() == 1 &&
24298        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24299      // (UQINCH_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24300      AsmString = "uqinch	$\x01";
24301      break;
24302    }
24303    if (MI->getNumOperands() == 4 &&
24304        MI->getOperand(0).isReg() &&
24305        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24306        MI->getOperand(3).isImm() &&
24307        MI->getOperand(3).getImm() == 1 &&
24308        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24309      // (UQINCH_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
24310      AsmString = "uqinch	$\x01, $\xFF\x03\x0E";
24311      break;
24312    }
24313    return false;
24314  case AArch64::UQINCH_ZPiI:
24315    if (MI->getNumOperands() == 4 &&
24316        MI->getOperand(0).isReg() &&
24317        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24318        MI->getOperand(2).isImm() &&
24319        MI->getOperand(2).getImm() == 31 &&
24320        MI->getOperand(3).isImm() &&
24321        MI->getOperand(3).getImm() == 1 &&
24322        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24323      // (UQINCH_ZPiI ZPR16:$Zdn, { 1, 1, 1, 1, 1 }, 1)
24324      AsmString = "uqinch	$\xFF\x01\x09";
24325      break;
24326    }
24327    if (MI->getNumOperands() == 4 &&
24328        MI->getOperand(0).isReg() &&
24329        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24330        MI->getOperand(3).isImm() &&
24331        MI->getOperand(3).getImm() == 1 &&
24332        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24333      // (UQINCH_ZPiI ZPR16:$Zdn, sve_pred_enum:$pattern, 1)
24334      AsmString = "uqinch	$\xFF\x01\x09, $\xFF\x03\x0E";
24335      break;
24336    }
24337    return false;
24338  case AArch64::UQINCW_WPiI:
24339    if (MI->getNumOperands() == 4 &&
24340        MI->getOperand(0).isReg() &&
24341        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24342        MI->getOperand(2).isImm() &&
24343        MI->getOperand(2).getImm() == 31 &&
24344        MI->getOperand(3).isImm() &&
24345        MI->getOperand(3).getImm() == 1 &&
24346        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24347      // (UQINCW_WPiI GPR32z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24348      AsmString = "uqincw	$\x01";
24349      break;
24350    }
24351    if (MI->getNumOperands() == 4 &&
24352        MI->getOperand(0).isReg() &&
24353        MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24354        MI->getOperand(3).isImm() &&
24355        MI->getOperand(3).getImm() == 1 &&
24356        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24357      // (UQINCW_WPiI GPR32z:$Rdn, sve_pred_enum:$pattern, 1)
24358      AsmString = "uqincw	$\x01, $\xFF\x03\x0E";
24359      break;
24360    }
24361    return false;
24362  case AArch64::UQINCW_XPiI:
24363    if (MI->getNumOperands() == 4 &&
24364        MI->getOperand(0).isReg() &&
24365        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24366        MI->getOperand(2).isImm() &&
24367        MI->getOperand(2).getImm() == 31 &&
24368        MI->getOperand(3).isImm() &&
24369        MI->getOperand(3).getImm() == 1 &&
24370        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24371      // (UQINCW_XPiI GPR64z:$Rdn, { 1, 1, 1, 1, 1 }, 1)
24372      AsmString = "uqincw	$\x01";
24373      break;
24374    }
24375    if (MI->getNumOperands() == 4 &&
24376        MI->getOperand(0).isReg() &&
24377        MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24378        MI->getOperand(3).isImm() &&
24379        MI->getOperand(3).getImm() == 1 &&
24380        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24381      // (UQINCW_XPiI GPR64z:$Rdn, sve_pred_enum:$pattern, 1)
24382      AsmString = "uqincw	$\x01, $\xFF\x03\x0E";
24383      break;
24384    }
24385    return false;
24386  case AArch64::UQINCW_ZPiI:
24387    if (MI->getNumOperands() == 4 &&
24388        MI->getOperand(0).isReg() &&
24389        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24390        MI->getOperand(2).isImm() &&
24391        MI->getOperand(2).getImm() == 31 &&
24392        MI->getOperand(3).isImm() &&
24393        MI->getOperand(3).getImm() == 1 &&
24394        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24395      // (UQINCW_ZPiI ZPR32:$Zdn, { 1, 1, 1, 1, 1 }, 1)
24396      AsmString = "uqincw	$\xFF\x01\x0B";
24397      break;
24398    }
24399    if (MI->getNumOperands() == 4 &&
24400        MI->getOperand(0).isReg() &&
24401        MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24402        MI->getOperand(3).isImm() &&
24403        MI->getOperand(3).getImm() == 1 &&
24404        STI.getFeatureBits()[AArch64::FeatureSVE]) {
24405      // (UQINCW_ZPiI ZPR32:$Zdn, sve_pred_enum:$pattern, 1)
24406      AsmString = "uqincw	$\xFF\x01\x0B, $\xFF\x03\x0E";
24407      break;
24408    }
24409    return false;
24410  }
24411
24412  unsigned I = 0;
24413  while (AsmString[I] != ' ' && AsmString[I] != '\t' &&
24414         AsmString[I] != '$' && AsmString[I] != '\0')
24415    ++I;
24416  OS << '\t' << StringRef(AsmString, I);
24417  if (AsmString[I] != '\0') {
24418    if (AsmString[I] == ' ' || AsmString[I] == '\t') {
24419      OS << '\t';
24420      ++I;
24421    }
24422    do {
24423      if (AsmString[I] == '$') {
24424        ++I;
24425        if (AsmString[I] == (char)0xff) {
24426          ++I;
24427          int OpIdx = AsmString[I++] - 1;
24428          int PrintMethodIdx = AsmString[I++] - 1;
24429          printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
24430        } else
24431          printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);
24432      } else {
24433        OS << AsmString[I++];
24434      }
24435    } while (AsmString[I] != '\0');
24436  }
24437
24438  return true;
24439}
24440
24441void AArch64InstPrinter::printCustomAliasOperand(
24442         const MCInst *MI, unsigned OpIdx,
24443         unsigned PrintMethodIdx,
24444         const MCSubtargetInfo &STI,
24445         raw_ostream &OS) {
24446  switch (PrintMethodIdx) {
24447  default:
24448    llvm_unreachable("Unknown PrintMethod kind");
24449    break;
24450  case 0:
24451    printAddSubImm(MI, OpIdx, STI, OS);
24452    break;
24453  case 1:
24454    printShifter(MI, OpIdx, STI, OS);
24455    break;
24456  case 2:
24457    printArithExtend(MI, OpIdx, STI, OS);
24458    break;
24459  case 3:
24460    printLogicalImm<int32_t>(MI, OpIdx, STI, OS);
24461    break;
24462  case 4:
24463    printLogicalImm<int64_t>(MI, OpIdx, STI, OS);
24464    break;
24465  case 5:
24466    printSVERegOp<'b'>(MI, OpIdx, STI, OS);
24467    break;
24468  case 6:
24469    printSVERegOp<>(MI, OpIdx, STI, OS);
24470    break;
24471  case 7:
24472    printLogicalImm<int8_t>(MI, OpIdx, STI, OS);
24473    break;
24474  case 8:
24475    printSVERegOp<'h'>(MI, OpIdx, STI, OS);
24476    break;
24477  case 9:
24478    printLogicalImm<int16_t>(MI, OpIdx, STI, OS);
24479    break;
24480  case 10:
24481    printSVERegOp<'s'>(MI, OpIdx, STI, OS);
24482    break;
24483  case 11:
24484    printVRegOperand(MI, OpIdx, STI, OS);
24485    break;
24486  case 12:
24487    printImm(MI, OpIdx, STI, OS);
24488    break;
24489  case 13:
24490    printSVEPattern(MI, OpIdx, STI, OS);
24491    break;
24492  case 14:
24493    printImm8OptLsl<int8_t>(MI, OpIdx, STI, OS);
24494    break;
24495  case 15:
24496    printSVERegOp<'d'>(MI, OpIdx, STI, OS);
24497    break;
24498  case 16:
24499    printImm8OptLsl<int64_t>(MI, OpIdx, STI, OS);
24500    break;
24501  case 17:
24502    printImm8OptLsl<int16_t>(MI, OpIdx, STI, OS);
24503    break;
24504  case 18:
24505    printImm8OptLsl<int32_t>(MI, OpIdx, STI, OS);
24506    break;
24507  case 19:
24508    printInverseCondCode(MI, OpIdx, STI, OS);
24509    break;
24510  case 20:
24511    printSVELogicalImm<int16_t>(MI, OpIdx, STI, OS);
24512    break;
24513  case 21:
24514    printSVELogicalImm<int32_t>(MI, OpIdx, STI, OS);
24515    break;
24516  case 22:
24517    printSVELogicalImm<int64_t>(MI, OpIdx, STI, OS);
24518    break;
24519  case 23:
24520    printZPRasFPR<8>(MI, OpIdx, STI, OS);
24521    break;
24522  case 24:
24523    printVectorIndex(MI, OpIdx, STI, OS);
24524    break;
24525  case 25:
24526    printZPRasFPR<64>(MI, OpIdx, STI, OS);
24527    break;
24528  case 26:
24529    printZPRasFPR<16>(MI, OpIdx, STI, OS);
24530    break;
24531  case 27:
24532    printSVERegOp<'q'>(MI, OpIdx, STI, OS);
24533    break;
24534  case 28:
24535    printZPRasFPR<128>(MI, OpIdx, STI, OS);
24536    break;
24537  case 29:
24538    printZPRasFPR<32>(MI, OpIdx, STI, OS);
24539    break;
24540  case 30:
24541    printFPImmOperand(MI, OpIdx, STI, OS);
24542    break;
24543  case 31:
24544    printTypedVectorList<0,'d'>(MI, OpIdx, STI, OS);
24545    break;
24546  case 32:
24547    printTypedVectorList<0,'s'>(MI, OpIdx, STI, OS);
24548    break;
24549  case 33:
24550    printPSBHintOp(MI, OpIdx, STI, OS);
24551    break;
24552  case 34:
24553    printTypedVectorList<0,'h'>(MI, OpIdx, STI, OS);
24554    break;
24555  case 35:
24556    printTypedVectorList<0,'b'>(MI, OpIdx, STI, OS);
24557    break;
24558  case 36:
24559    printTypedVectorList<16, 'b'>(MI, OpIdx, STI, OS);
24560    break;
24561  case 37:
24562    printTypedVectorList<1, 'd'>(MI, OpIdx, STI, OS);
24563    break;
24564  case 38:
24565    printTypedVectorList<2, 'd'>(MI, OpIdx, STI, OS);
24566    break;
24567  case 39:
24568    printTypedVectorList<2, 's'>(MI, OpIdx, STI, OS);
24569    break;
24570  case 40:
24571    printTypedVectorList<4, 'h'>(MI, OpIdx, STI, OS);
24572    break;
24573  case 41:
24574    printTypedVectorList<4, 's'>(MI, OpIdx, STI, OS);
24575    break;
24576  case 42:
24577    printTypedVectorList<8, 'b'>(MI, OpIdx, STI, OS);
24578    break;
24579  case 43:
24580    printTypedVectorList<8, 'h'>(MI, OpIdx, STI, OS);
24581    break;
24582  case 44:
24583    printTypedVectorList<0, 'h'>(MI, OpIdx, STI, OS);
24584    break;
24585  case 45:
24586    printTypedVectorList<0, 's'>(MI, OpIdx, STI, OS);
24587    break;
24588  case 46:
24589    printTypedVectorList<0, 'd'>(MI, OpIdx, STI, OS);
24590    break;
24591  case 47:
24592    printTypedVectorList<0, 'b'>(MI, OpIdx, STI, OS);
24593    break;
24594  case 48:
24595    printImmHex(MI, OpIdx, STI, OS);
24596    break;
24597  case 49:
24598    printPrefetchOp<true>(MI, OpIdx, STI, OS);
24599    break;
24600  case 50:
24601    printPrefetchOp(MI, OpIdx, STI, OS);
24602    break;
24603  case 51:
24604    printGPR64as32(MI, OpIdx, STI, OS);
24605    break;
24606  case 52:
24607    printSysCROperand(MI, OpIdx, STI, OS);
24608    break;
24609  }
24610}
24611
24612static bool AArch64InstPrinterValidateMCOperand(const MCOperand &MCOp,
24613                  const MCSubtargetInfo &STI,
24614                  unsigned PredicateIndex) {
24615  switch (PredicateIndex) {
24616  default:
24617    llvm_unreachable("Unknown MCOperandPredicate kind");
24618    break;
24619  case 1: {
24620
24621    if (!MCOp.isImm())
24622      return false;
24623    int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64);
24624    return AArch64_AM::isSVEMaskOfIdenticalElements<int8_t>(Val);
24625
24626    }
24627  case 2: {
24628
24629    if (!MCOp.isImm())
24630      return false;
24631    int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64);
24632    return AArch64_AM::isSVEMaskOfIdenticalElements<int16_t>(Val);
24633
24634    }
24635  case 3: {
24636
24637    if (!MCOp.isImm())
24638      return false;
24639    int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64);
24640    return AArch64_AM::isSVEMaskOfIdenticalElements<int32_t>(Val);
24641
24642    }
24643  case 4: {
24644
24645    return MCOp.isImm() &&
24646           MCOp.getImm() != AArch64CC::AL &&
24647           MCOp.getImm() != AArch64CC::NV;
24648
24649    }
24650  case 5: {
24651
24652    if (!MCOp.isImm())
24653      return false;
24654    int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64);
24655    return AArch64_AM::isSVEMaskOfIdenticalElements<int16_t>(Val) &&
24656           AArch64_AM::isSVEMoveMaskPreferredLogicalImmediate(Val);
24657
24658    }
24659  case 6: {
24660
24661    if (!MCOp.isImm())
24662      return false;
24663    int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64);
24664    return AArch64_AM::isSVEMaskOfIdenticalElements<int32_t>(Val) &&
24665           AArch64_AM::isSVEMoveMaskPreferredLogicalImmediate(Val);
24666
24667    }
24668  case 7: {
24669
24670    if (!MCOp.isImm())
24671      return false;
24672    int64_t Val = AArch64_AM::decodeLogicalImmediate(MCOp.getImm(), 64);
24673    return AArch64_AM::isSVEMaskOfIdenticalElements<int64_t>(Val) &&
24674           AArch64_AM::isSVEMoveMaskPreferredLogicalImmediate(Val);
24675
24676    }
24677  case 8: {
24678
24679    // Check, if operand is valid, to fix exhaustive aliasing in disassembly.
24680    // "psb" is an alias to "hint" only for certain values of CRm:Op2 fields.
24681    if (!MCOp.isImm())
24682      return false;
24683    return AArch64PSBHint::lookupPSBByEncoding(MCOp.getImm()) != nullptr;
24684
24685    }
24686  }
24687}
24688
24689#endif // PRINT_ALIAS_INSTR
24690