charm 0.0.1

ARM assembler & disassembler generated from the ARM exploration tools.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
#![allow(non_snake_case)]
#![allow(unused)]
use std::collections::HashMap;
use crate::error::Result;
use super::super::consts::*;
use super::super::instructions::*;
use super::super::instruction::Instruction;

pub fn encode(instr: &Instruction, buf: &mut Vec<u8>) -> Result<usize> {
    match instr.code {
        Code::Invalid => todo!(),
        Code::LDXRB_LR32_ldstexclr => LdxrbLr32Ldstexclr::encode(instr, buf),
        Code::AUTDB_64P_dp_1src => Autdb64pDp1src::encode(instr, buf),
        Code::NGCS_SBCS_32_addsub_carry => NgcsSbcs32AddsubCarry::encode(instr, buf),
        Code::LDSMAXALB_32_memop => Ldsmaxalb32Memop::encode(instr, buf),
        Code::SETPTN_SET_memcms => SetptnSetMemcms::encode(instr, buf),
        Code::LDRSB_32_ldst_immpost => Ldrsb32LdstImmpost::encode(instr, buf),
        Code::STXP_SP32_ldstexclp => StxpSp32Ldstexclp::encode(instr, buf),
        Code::SWPA_64_memop => Swpa64Memop::encode(instr, buf),
        Code::STXRH_SR32_ldstexclr => StxrhSr32Ldstexclr::encode(instr, buf),
        Code::CBGT_64_imm => Cbgt64Imm::encode(instr, buf),
        Code::AUTIBZ_HI_hints => AutibzHiHints::encode(instr, buf),
        Code::STP_32_ldstpair_post => Stp32LdstpairPost::encode(instr, buf),
        Code::SUB_64_addsub_shift => Sub64AddsubShift::encode(instr, buf),
        Code::STR_32_ldst_pos => Str32LdstPos::encode(instr, buf),
        Code::ORR_32_log_imm => Orr32LogImm::encode(instr, buf),
        Code::ST2G_64Spre_ldsttags => St2g64spreLdsttags::encode(instr, buf),
        Code::CBEQ_32_imm => Cbeq32Imm::encode(instr, buf),
        Code::LDSMINA_32_memop => Ldsmina32Memop::encode(instr, buf),
        Code::LDRSH_64_ldst_immpost => Ldrsh64LdstImmpost::encode(instr, buf),
        Code::ADDG_64_addsub_immtags => Addg64AddsubImmtags::encode(instr, buf),
        Code::LDUR_64_ldst_unscaled => Ldur64LdstUnscaled::encode(instr, buf),
        Code::LDRSH_32_ldst_immpost => Ldrsh32LdstImmpost::encode(instr, buf),
        Code::CASA_C32_comswap => CasaC32Comswap::encode(instr, buf),
        Code::CPYFEN_CPY_memcms => CpyfenCpyMemcms::encode(instr, buf),
        Code::EON_64_log_shift => Eon64LogShift::encode(instr, buf),
        Code::LDADDALH_32_memop => Ldaddalh32Memop::encode(instr, buf),
        Code::STXRB_SR32_ldstexclr => StxrbSr32Ldstexclr::encode(instr, buf),
        Code::CMP_SUBS_64_addsub_shift => CmpSubs64AddsubShift::encode(instr, buf),
        Code::LDUMAX_32_memop => Ldumax32Memop::encode(instr, buf),
        Code::LDADDA_64_memop => Ldadda64Memop::encode(instr, buf),
        Code::LDXP_LP64_ldstexclp => LdxpLp64Ldstexclp::encode(instr, buf),
        Code::RCWCASAL_C64_rcwcomswap => RcwcasalC64Rcwcomswap::encode(instr, buf),
        Code::UBFM_64M_bitfield => Ubfm64mBitfield::encode(instr, buf),
        Code::LDTXR_LR64_ldstexclr_unpriv => LdtxrLr64LdstexclrUnpriv::encode(instr, buf),
        Code::BFI_BFM_32M_bitfield => BfiBfm32mBitfield::encode(instr, buf),
        Code::EOR_64_log_imm => Eor64LogImm::encode(instr, buf),
        Code::LDAR_LR64_ldstord => LdarLr64Ldstord::encode(instr, buf),
        Code::LDRH_32_ldst_pos => Ldrh32LdstPos::encode(instr, buf),
        Code::CPYFPWTN_CPY_memcms => CpyfpwtnCpyMemcms::encode(instr, buf),
        Code::LDEORH_32_memop => Ldeorh32Memop::encode(instr, buf),
        Code::XPACLRI_HI_hints => XpaclriHiHints::encode(instr, buf),
        Code::STSETB_LDSETB_32_memop => StsetbLdsetb32Memop::encode(instr, buf),
        Code::CPYFETN_CPY_memcms => CpyfetnCpyMemcms::encode(instr, buf),
        Code::LDRSW_64_loadlit => Ldrsw64Loadlit::encode(instr, buf),
        Code::LDSMAXL_64_memop => Ldsmaxl64Memop::encode(instr, buf),
        Code::RCWSSWPPL_128_memop_128 => Rcwsswppl128Memop128::encode(instr, buf),
        Code::CPYFMRN_CPY_memcms => CpyfmrnCpyMemcms::encode(instr, buf),
        Code::LDNP_32_ldstnapair_offs => Ldnp32LdstnapairOffs::encode(instr, buf),
        Code::SUBS_32_addsub_shift => Subs32AddsubShift::encode(instr, buf),
        Code::STLUR_64_ldapstl_unscaled => Stlur64LdapstlUnscaled::encode(instr, buf),
        Code::LDRSB_64BL_ldst_regoff => Ldrsb64blLdstRegoff::encode(instr, buf),
        Code::RCWSSETP_128_memop_128 => Rcwssetp128Memop128::encode(instr, buf),
        Code::LDSMAXB_32_memop => Ldsmaxb32Memop::encode(instr, buf),
        Code::CBHI_64_regs => Cbhi64Regs::encode(instr, buf),
        Code::RETAASPPCR_64M_branch_reg => Retaasppcr64mBranchReg::encode(instr, buf),
        Code::CPYFPWTRN_CPY_memcms => CpyfpwtrnCpyMemcms::encode(instr, buf),
        Code::CSEL_32_condsel => Csel32Condsel::encode(instr, buf),
        Code::LDUMAXLB_32_memop => Ldumaxlb32Memop::encode(instr, buf),
        Code::CPYPRTN_CPY_memcms => CpyprtnCpyMemcms::encode(instr, buf),
        Code::LDTSETA_32_memop_unpriv => Ldtseta32MemopUnpriv::encode(instr, buf),
        Code::RCWSETPA_128_memop_128 => Rcwsetpa128Memop128::encode(instr, buf),
        Code::LDSETAB_32_memop => Ldsetab32Memop::encode(instr, buf),
        Code::CPYPWTWN_CPY_memcms => CpypwtwnCpyMemcms::encode(instr, buf),
        Code::LDAPRH_32L_memop => Ldaprh32lMemop::encode(instr, buf),
        Code::CBHLO_CBHHI_16_regs => CbhloCbhhi16Regs::encode(instr, buf),
        Code::LDSMINAL_64_memop => Ldsminal64Memop::encode(instr, buf),
        Code::RCWCLRL_64_memop => Rcwclrl64Memop::encode(instr, buf),
        Code::RCWSSETAL_64_memop => Rcwssetal64Memop::encode(instr, buf),
        Code::STUMAXB_LDUMAXB_32_memop => StumaxbLdumaxb32Memop::encode(instr, buf),
        Code::STUMAXLH_LDUMAXLH_32_memop => StumaxlhLdumaxlh32Memop::encode(instr, buf),
        Code::LDTP_64_ldstpair_post => Ldtp64LdstpairPost::encode(instr, buf),
        Code::RCWSWPPA_128_memop_128 => Rcwswppa128Memop128::encode(instr, buf),
        Code::BLRAB_64P_branch_reg => Blrab64pBranchReg::encode(instr, buf),
        Code::CPYFMRTN_CPY_memcms => CpyfmrtnCpyMemcms::encode(instr, buf),
        Code::SBCS_64_addsub_carry => Sbcs64AddsubCarry::encode(instr, buf),
        Code::BFXIL_BFM_64M_bitfield => BfxilBfm64mBitfield::encode(instr, buf),
        Code::STGM_64bulk_ldsttags => Stgm64bulkLdsttags::encode(instr, buf),
        Code::STTADD_LDTADD_32_memop_unpriv => SttaddLdtadd32MemopUnpriv::encode(instr, buf),
        Code::CPYM_CPY_memcms => CpymCpyMemcms::encode(instr, buf),
        Code::STP_32_ldstpair_off => Stp32LdstpairOff::encode(instr, buf),
        Code::LDEORALH_32_memop => Ldeoralh32Memop::encode(instr, buf),
        Code::LDIAPP_32LE_ldiappstilp => Ldiapp32leLdiappstilp::encode(instr, buf),
        Code::SWPL_32_memop => Swpl32Memop::encode(instr, buf),
        Code::LDR_32_ldst_regoff => Ldr32LdstRegoff::encode(instr, buf),
        Code::ADD_32_addsub_imm => Add32AddsubImm::encode(instr, buf),
        Code::STUMAXL_LDUMAXL_32_memop => StumaxlLdumaxl32Memop::encode(instr, buf),
        Code::SWPALB_32_memop => Swpalb32Memop::encode(instr, buf),
        Code::SETF16_only_setf => Setf16OnlySetf::encode(instr, buf),
        Code::SETGPT_SET_memcms => SetgptSetMemcms::encode(instr, buf),
        Code::LDSMAXLH_32_memop => Ldsmaxlh32Memop::encode(instr, buf),
        Code::EXTR_64_extract => Extr64Extract::encode(instr, buf),
        Code::LDSETB_32_memop => Ldsetb32Memop::encode(instr, buf),
        Code::STEORH_LDEORH_32_memop => SteorhLdeorh32Memop::encode(instr, buf),
        Code::SUB_32_addsub_ext => Sub32AddsubExt::encode(instr, buf),
        Code::MOV_ADD_64_addsub_imm => MovAdd64AddsubImm::encode(instr, buf),
        Code::LDCLRAH_32_memop => Ldclrah32Memop::encode(instr, buf),
        Code::CASALB_C32_comswap => CasalbC32Comswap::encode(instr, buf),
        Code::LDUMAXAH_32_memop => Ldumaxah32Memop::encode(instr, buf),
        Code::CASP_CP64_comswappr => CaspCp64Comswappr::encode(instr, buf),
        Code::CASAL_C64_comswap => CasalC64Comswap::encode(instr, buf),
        Code::LDADDAL_32_memop => Ldaddal32Memop::encode(instr, buf),
        Code::LDTSETL_64_memop_unpriv => Ldtsetl64MemopUnpriv::encode(instr, buf),
        Code::STLRB_SL32_ldstord => StlrbSl32Ldstord::encode(instr, buf),
        Code::LDADD_64_memop => Ldadd64Memop::encode(instr, buf),
        Code::CBBLT_CBBGT_8_regs => CbbltCbbgt8Regs::encode(instr, buf),
        Code::CBHEQ_16_regs => Cbheq16Regs::encode(instr, buf),
        Code::ROR_RORV_64_dp_2src => RorRorv64Dp2src::encode(instr, buf),
        Code::STUMAX_LDUMAX_64_memop => StumaxLdumax64Memop::encode(instr, buf),
        Code::LDSMIN_64_memop => Ldsmin64Memop::encode(instr, buf),
        Code::RCWCAS_C64_rcwcomswap => RcwcasC64Rcwcomswap::encode(instr, buf),
        Code::CBBLS_CBBHS_8_regs => CbblsCbbhs8Regs::encode(instr, buf),
        Code::AUTIZB_64Z_dp_1src => Autizb64zDp1src::encode(instr, buf),
        Code::LDLAR_LR64_ldstord => LdlarLr64Ldstord::encode(instr, buf),
        Code::PACDZA_64Z_dp_1src => Pacdza64zDp1src::encode(instr, buf),
        Code::LDSETAL_32_memop => Ldsetal32Memop::encode(instr, buf),
        Code::CASALH_C32_comswap => CasalhC32Comswap::encode(instr, buf),
        Code::CSEL_64_condsel => Csel64Condsel::encode(instr, buf),
        Code::CPYMRTN_CPY_memcms => CpymrtnCpyMemcms::encode(instr, buf),
        Code::LDLARB_LR32_ldstord => LdlarbLr32Ldstord::encode(instr, buf),
        Code::CBEQ_32_regs => Cbeq32Regs::encode(instr, buf),
        Code::CASPA_CP32_comswappr => CaspaCp32Comswappr::encode(instr, buf),
        Code::LDSMAXALH_32_memop => Ldsmaxalh32Memop::encode(instr, buf),
        Code::SETGETN_SET_memcms => SetgetnSetMemcms::encode(instr, buf),
        Code::XPACD_64Z_dp_1src => Xpacd64zDp1src::encode(instr, buf),
        Code::LDADDLH_32_memop => Ldaddlh32Memop::encode(instr, buf),
        Code::CPYFPRN_CPY_memcms => CpyfprnCpyMemcms::encode(instr, buf),
        Code::CPYPTRN_CPY_memcms => CpyptrnCpyMemcms::encode(instr, buf),
        Code::CPYFMTN_CPY_memcms => CpyfmtnCpyMemcms::encode(instr, buf),
        Code::PACIA1716_HI_hints => Pacia1716HiHints::encode(instr, buf),
        Code::STG_64Soffset_ldsttags => Stg64soffsetLdsttags::encode(instr, buf),
        Code::STLXRB_SR32_ldstexclr => StlxrbSr32Ldstexclr::encode(instr, buf),
        Code::RCWSSETPA_128_memop_128 => Rcwssetpa128Memop128::encode(instr, buf),
        Code::AND_32_log_imm => And32LogImm::encode(instr, buf),
        Code::LDADDL_64_memop => Ldaddl64Memop::encode(instr, buf),
        Code::ST2G_64Soffset_ldsttags => St2g64soffsetLdsttags::encode(instr, buf),
        Code::STLXR_SR32_ldstexclr => StlxrSr32Ldstexclr::encode(instr, buf),
        Code::CPYEWT_CPY_memcms => CpyewtCpyMemcms::encode(instr, buf),
        Code::ADC_32_addsub_carry => Adc32AddsubCarry::encode(instr, buf),
        Code::AND_64_log_shift => And64LogShift::encode(instr, buf),
        Code::SDIV_32_dp_2src => Sdiv32Dp2src::encode(instr, buf),
        Code::CPYFPTRN_CPY_memcms => CpyfptrnCpyMemcms::encode(instr, buf),
        Code::RCWSWPA_64_memop => Rcwswpa64Memop::encode(instr, buf),
        Code::CSINV_32_condsel => Csinv32Condsel::encode(instr, buf),
        Code::STSMINB_LDSMINB_32_memop => StsminbLdsminb32Memop::encode(instr, buf),
        Code::STTCLRL_LDTCLRL_64_memop_unpriv => SttclrlLdtclrl64MemopUnpriv::encode(instr, buf),
        Code::STTXR_SR64_ldstexclr_unpriv => SttxrSr64LdstexclrUnpriv::encode(instr, buf),
        Code::STURH_32_ldst_unscaled => Sturh32LdstUnscaled::encode(instr, buf),
        Code::STSET_LDSET_64_memop => StsetLdset64Memop::encode(instr, buf),
        Code::STSMINLB_LDSMINLB_32_memop => StsminlbLdsminlb32Memop::encode(instr, buf),
        Code::SWPTAL_64_memop_unpriv => Swptal64MemopUnpriv::encode(instr, buf),
        Code::SMIN_32_dp_2src => Smin32Dp2src::encode(instr, buf),
        Code::ADR_only_pcreladdr => AdrOnlyPcreladdr::encode(instr, buf),
        Code::CLZ_64_dp_1src => Clz64Dp1src::encode(instr, buf),
        Code::CBLT_CBGT_32_regs => CbltCbgt32Regs::encode(instr, buf),
        Code::LDCLRB_32_memop => Ldclrb32Memop::encode(instr, buf),
        Code::LDTCLRAL_32_memop_unpriv => Ldtclral32MemopUnpriv::encode(instr, buf),
        Code::LDXR_LR32_ldstexclr => LdxrLr32Ldstexclr::encode(instr, buf),
        Code::LDUR_32_ldst_unscaled => Ldur32LdstUnscaled::encode(instr, buf),
        Code::CPYFPTWN_CPY_memcms => CpyfptwnCpyMemcms::encode(instr, buf),
        Code::RCWCASL_C64_rcwcomswap => RcwcaslC64Rcwcomswap::encode(instr, buf),
        Code::STCLRL_LDCLRL_64_memop => StclrlLdclrl64Memop::encode(instr, buf),
        Code::UBFM_32M_bitfield => Ubfm32mBitfield::encode(instr, buf),
        Code::CNEG_CSNEG_64_condsel => CnegCsneg64Condsel::encode(instr, buf),
        Code::CPYFEWTWN_CPY_memcms => CpyfewtwnCpyMemcms::encode(instr, buf),
        Code::CPYPRT_CPY_memcms => CpyprtCpyMemcms::encode(instr, buf),
        Code::RCWSSWPA_64_memop => Rcwsswpa64Memop::encode(instr, buf),
        Code::BFM_32M_bitfield => Bfm32mBitfield::encode(instr, buf),
        Code::LDCLRALB_32_memop => Ldclralb32Memop::encode(instr, buf),
        Code::STLLR_SL64_ldstord => StllrSl64Ldstord::encode(instr, buf),
        Code::STGP_64_ldstpair_post => Stgp64LdstpairPost::encode(instr, buf),
        Code::STTSETL_LDTSETL_32_memop_unpriv => SttsetlLdtsetl32MemopUnpriv::encode(instr, buf),
        Code::CPYPWTRN_CPY_memcms => CpypwtrnCpyMemcms::encode(instr, buf),
        Code::RCWSWPL_64_memop => Rcwswpl64Memop::encode(instr, buf),
        Code::CBLT_64_imm => Cblt64Imm::encode(instr, buf),
        Code::LDAPURSW_64_ldapstl_unscaled => Ldapursw64LdapstlUnscaled::encode(instr, buf),
        Code::CBGE_CBGT_64_imm => CbgeCbgt64Imm::encode(instr, buf),
        Code::LSLV_32_dp_2src => Lslv32Dp2src::encode(instr, buf),
        Code::LDCLRLB_32_memop => Ldclrlb32Memop::encode(instr, buf),
        Code::CASP_CP32_comswappr => CaspCp32Comswappr::encode(instr, buf),
        Code::LDSMINL_32_memop => Ldsminl32Memop::encode(instr, buf),
        Code::LDSET_64_memop => Ldset64Memop::encode(instr, buf),
        Code::LDR_64_loadlit => Ldr64Loadlit::encode(instr, buf),
        Code::LDP_64_ldstpair_pre => Ldp64LdstpairPre::encode(instr, buf),
        Code::LDR_32_loadlit => Ldr32Loadlit::encode(instr, buf),
        Code::STSETH_LDSETH_32_memop => StsethLdseth32Memop::encode(instr, buf),
        Code::LDUMAXALB_32_memop => Ldumaxalb32Memop::encode(instr, buf),
        Code::LDR_32_ldst_pos => Ldr32LdstPos::encode(instr, buf),
        Code::LDRSW_64_ldst_immpre => Ldrsw64LdstImmpre::encode(instr, buf),
        Code::CRC32CX_64C_dp_2src => Crc32cx64cDp2src::encode(instr, buf),
        Code::ADCS_64_addsub_carry => Adcs64AddsubCarry::encode(instr, buf),
        Code::STLLRB_SL32_ldstord => StllrbSl32Ldstord::encode(instr, buf),
        Code::RCWSETP_128_memop_128 => Rcwsetp128Memop128::encode(instr, buf),
        Code::STTP_64_ldstpair_post => Sttp64LdstpairPost::encode(instr, buf),
        Code::CBNE_64_regs => Cbne64Regs::encode(instr, buf),
        Code::MOVN_32_movewide => Movn32Movewide::encode(instr, buf),
        Code::CPYFMWTWN_CPY_memcms => CpyfmwtwnCpyMemcms::encode(instr, buf),
        Code::LDSMINLH_32_memop => Ldsminlh32Memop::encode(instr, buf),
        Code::SXTH_SBFM_32M_bitfield => SxthSbfm32mBitfield::encode(instr, buf),
        Code::CPYMT_CPY_memcms => CpymtCpyMemcms::encode(instr, buf),
        Code::CAS_C64_comswap => CasC64Comswap::encode(instr, buf),
        Code::PACIAZ_HI_hints => PaciazHiHints::encode(instr, buf),
        Code::SBC_32_addsub_carry => Sbc32AddsubCarry::encode(instr, buf),
        Code::CBHS_32_regs => Cbhs32Regs::encode(instr, buf),
        Code::STADDL_LDADDL_64_memop => StaddlLdaddl64Memop::encode(instr, buf),
        Code::STUMAXH_LDUMAXH_32_memop => StumaxhLdumaxh32Memop::encode(instr, buf),
        Code::TBZ_only_testbranch => TbzOnlyTestbranch::encode(instr, buf),
        Code::STP_64_ldstpair_post => Stp64LdstpairPost::encode(instr, buf),
        Code::PACNBIBSPPC_64LR_dp_1src => Pacnbibsppc64lrDp1src::encode(instr, buf),
        Code::CBBHI_8_regs => Cbbhi8Regs::encode(instr, buf),
        Code::NGC_SBC_32_addsub_carry => NgcSbc32AddsubCarry::encode(instr, buf),
        Code::RCWCLRA_64_memop => Rcwclra64Memop::encode(instr, buf),
        Code::UBFIZ_UBFM_32M_bitfield => UbfizUbfm32mBitfield::encode(instr, buf),
        Code::RCWCLRP_128_memop_128 => Rcwclrp128Memop128::encode(instr, buf),
        Code::AUTDZB_64Z_dp_1src => Autdzb64zDp1src::encode(instr, buf),
        Code::CPYPWN_CPY_memcms => CpypwnCpyMemcms::encode(instr, buf),
        Code::CCMP_64_condcmp_reg => Ccmp64CondcmpReg::encode(instr, buf),
        Code::CBGE_64_regs => Cbge64Regs::encode(instr, buf),
        Code::CINV_CSINV_64_condsel => CinvCsinv64Condsel::encode(instr, buf),
        Code::RCWCLRPAL_128_memop_128 => Rcwclrpal128Memop128::encode(instr, buf),
        Code::STCLRL_LDCLRL_32_memop => StclrlLdclrl32Memop::encode(instr, buf),
        Code::CPYFMWT_CPY_memcms => CpyfmwtCpyMemcms::encode(instr, buf),
        Code::CPYMRN_CPY_memcms => CpymrnCpyMemcms::encode(instr, buf),
        Code::BICS_64_log_shift => Bics64LogShift::encode(instr, buf),
        Code::PACIASP_HI_hints => PaciaspHiHints::encode(instr, buf),
        Code::UBFX_UBFM_64M_bitfield => UbfxUbfm64mBitfield::encode(instr, buf),
        Code::STSMAXH_LDSMAXH_32_memop => StsmaxhLdsmaxh32Memop::encode(instr, buf),
        Code::CPYFMT_CPY_memcms => CpyfmtCpyMemcms::encode(instr, buf),
        Code::LDTCLRAL_64_memop_unpriv => Ldtclral64MemopUnpriv::encode(instr, buf),
        Code::CCMP_64_condcmp_imm => Ccmp64CondcmpImm::encode(instr, buf),
        Code::NGCS_SBCS_64_addsub_carry => NgcsSbcs64AddsubCarry::encode(instr, buf),
        Code::LSL_UBFM_64M_bitfield => LslUbfm64mBitfield::encode(instr, buf),
        Code::CPYET_CPY_memcms => CpyetCpyMemcms::encode(instr, buf),
        Code::LDSETLB_32_memop => Ldsetlb32Memop::encode(instr, buf),
        Code::STSMIN_LDSMIN_32_memop => StsminLdsmin32Memop::encode(instr, buf),
        Code::LDTADDL_64_memop_unpriv => Ldtaddl64MemopUnpriv::encode(instr, buf),
        Code::LDURSW_64_ldst_unscaled => Ldursw64LdstUnscaled::encode(instr, buf),
        Code::LDAPR_32L_ldapstl_writeback => Ldapr32lLdapstlWriteback::encode(instr, buf),
        Code::LDTSET_64_memop_unpriv => Ldtset64MemopUnpriv::encode(instr, buf),
        Code::SMADDL_64WA_dp_3src => Smaddl64waDp3src::encode(instr, buf),
        Code::STLTXR_SR64_ldstexclr_unpriv => StltxrSr64LdstexclrUnpriv::encode(instr, buf),
        Code::STRH_32_ldst_regoff => Strh32LdstRegoff::encode(instr, buf),
        Code::MSUBPT_64A_dp_3src => Msubpt64aDp3src::encode(instr, buf),
        Code::REV_32_dp_1src => Rev32Dp1src::encode(instr, buf),
        Code::LDTRSB_64_ldst_unpriv => Ldtrsb64LdstUnpriv::encode(instr, buf),
        Code::SWPPAL_128_memop_128 => Swppal128Memop128::encode(instr, buf),
        Code::LDUMAX_64_memop => Ldumax64Memop::encode(instr, buf),
        Code::CPYP_CPY_memcms => CpypCpyMemcms::encode(instr, buf),
        Code::STUMINLB_LDUMINLB_32_memop => StuminlbLduminlb32Memop::encode(instr, buf),
        Code::CPYETWN_CPY_memcms => CpyetwnCpyMemcms::encode(instr, buf),
        Code::CSETM_CSINV_32_condsel => CsetmCsinv32Condsel::encode(instr, buf),
        Code::LDRB_32_ldst_immpre => Ldrb32LdstImmpre::encode(instr, buf),
        Code::STUMINL_LDUMINL_64_memop => StuminlLduminl64Memop::encode(instr, buf),
        Code::RCWCLR_64_memop => Rcwclr64Memop::encode(instr, buf),
        Code::CPYPWTN_CPY_memcms => CpypwtnCpyMemcms::encode(instr, buf),
        Code::EOR_64_log_shift => Eor64LogShift::encode(instr, buf),
        Code::PACIB171615_64LR_dp_1src => Pacib17161564lrDp1src::encode(instr, buf),
        Code::SETMTN_SET_memcms => SetmtnSetMemcms::encode(instr, buf),
        Code::LDTRB_32_ldst_unpriv => Ldtrb32LdstUnpriv::encode(instr, buf),
        Code::SETM_SET_memcms => SetmSetMemcms::encode(instr, buf),
        Code::CPYFPRTRN_CPY_memcms => CpyfprtrnCpyMemcms::encode(instr, buf),
        Code::STLXRH_SR32_ldstexclr => StlxrhSr32Ldstexclr::encode(instr, buf),
        Code::SUBPS_64S_dp_2src => Subps64sDp2src::encode(instr, buf),
        Code::LSRV_32_dp_2src => Lsrv32Dp2src::encode(instr, buf),
        Code::STUMIN_LDUMIN_32_memop => StuminLdumin32Memop::encode(instr, buf),
        Code::LDAXP_LP32_ldstexclp => LdaxpLp32Ldstexclp::encode(instr, buf),
        Code::MOV_MOVZ_64_movewide => MovMovz64Movewide::encode(instr, buf),
        Code::LDP_32_ldstpair_off => Ldp32LdstpairOff::encode(instr, buf),
        Code::LDTRSH_32_ldst_unpriv => Ldtrsh32LdstUnpriv::encode(instr, buf),
        Code::STZG_64Soffset_ldsttags => Stzg64soffsetLdsttags::encode(instr, buf),
        Code::STTR_64_ldst_unpriv => Sttr64LdstUnpriv::encode(instr, buf),
        Code::AUTIA_64P_dp_1src => Autia64pDp1src::encode(instr, buf),
        Code::ASRV_64_dp_2src => Asrv64Dp2src::encode(instr, buf),
        Code::RETABSPPCR_64M_branch_reg => Retabsppcr64mBranchReg::encode(instr, buf),
        Code::CBLE_CBGE_64_regs => CbleCbge64Regs::encode(instr, buf),
        Code::SUBS_64S_addsub_imm => Subs64sAddsubImm::encode(instr, buf),
        Code::ADDS_64S_addsub_imm => Adds64sAddsubImm::encode(instr, buf),
        Code::CBBGT_8_regs => Cbbgt8Regs::encode(instr, buf),
        Code::CBEQ_64_regs => Cbeq64Regs::encode(instr, buf),
        Code::PACIZA_64Z_dp_1src => Paciza64zDp1src::encode(instr, buf),
        Code::LDTCLR_64_memop_unpriv => Ldtclr64MemopUnpriv::encode(instr, buf),
        Code::CSINV_64_condsel => Csinv64Condsel::encode(instr, buf),
        Code::BFI_BFM_64M_bitfield => BfiBfm64mBitfield::encode(instr, buf),
        Code::BLR_64_branch_reg => Blr64BranchReg::encode(instr, buf),
        Code::CBHI_64_imm => Cbhi64Imm::encode(instr, buf),
        Code::CPYERT_CPY_memcms => CpyertCpyMemcms::encode(instr, buf),
        Code::LDUMAXAL_64_memop => Ldumaxal64Memop::encode(instr, buf),
        Code::MOVZ_32_movewide => Movz32Movewide::encode(instr, buf),
        Code::RCWCLRAL_64_memop => Rcwclral64Memop::encode(instr, buf),
        Code::MOVK_64_movewide => Movk64Movewide::encode(instr, buf),
        Code::SWPAL_64_memop => Swpal64Memop::encode(instr, buf),
        Code::AUTIAZ_HI_hints => AutiazHiHints::encode(instr, buf),
        Code::LDEORLB_32_memop => Ldeorlb32Memop::encode(instr, buf),
        Code::RCWSCLRPAL_128_memop_128 => Rcwsclrpal128Memop128::encode(instr, buf),
        Code::CLZ_32_dp_1src => Clz32Dp1src::encode(instr, buf),
        Code::LDADDAL_64_memop => Ldaddal64Memop::encode(instr, buf),
        Code::ADRP_only_pcreladdr => AdrpOnlyPcreladdr::encode(instr, buf),
        Code::CBBGE_8_regs => Cbbge8Regs::encode(instr, buf),
        Code::RCWSCLRL_64_memop => Rcwsclrl64Memop::encode(instr, buf),
        Code::STLURH_32_ldapstl_unscaled => Stlurh32LdapstlUnscaled::encode(instr, buf),
        Code::LDTNP_64_ldstnapair_offs => Ldtnp64LdstnapairOffs::encode(instr, buf),
        Code::BFXIL_BFM_32M_bitfield => BfxilBfm32mBitfield::encode(instr, buf),
        Code::CBHS_CBHI_64_imm => CbhsCbhi64Imm::encode(instr, buf),
        Code::CSINC_32_condsel => Csinc32Condsel::encode(instr, buf),
        Code::STR_64_ldst_regoff => Str64LdstRegoff::encode(instr, buf),
        Code::LDAPURSB_32_ldapstl_unscaled => Ldapursb32LdapstlUnscaled::encode(instr, buf),
        Code::LDP_64_ldstpair_post => Ldp64LdstpairPost::encode(instr, buf),
        Code::LDRSW_64_ldst_immpost => Ldrsw64LdstImmpost::encode(instr, buf),
        Code::SUBG_64_addsub_immtags => Subg64AddsubImmtags::encode(instr, buf),
        Code::CPYPRTRN_CPY_memcms => CpyprtrnCpyMemcms::encode(instr, buf),
        Code::CBHS_CBHI_32_imm => CbhsCbhi32Imm::encode(instr, buf),
        Code::B_only_condbranch => BOnlyCondbranch::encode(instr, buf),
        Code::NGC_SBC_64_addsub_carry => NgcSbc64AddsubCarry::encode(instr, buf),
        Code::STADD_LDADD_64_memop => StaddLdadd64Memop::encode(instr, buf),
        Code::STCLRLH_LDCLRLH_32_memop => StclrlhLdclrlh32Memop::encode(instr, buf),
        Code::CASA_C64_comswap => CasaC64Comswap::encode(instr, buf),
        Code::CPYETRN_CPY_memcms => CpyetrnCpyMemcms::encode(instr, buf),
        Code::CLS_32_dp_1src => Cls32Dp1src::encode(instr, buf),
        Code::LDSETALB_32_memop => Ldsetalb32Memop::encode(instr, buf),
        Code::RCWSSETPAL_128_memop_128 => Rcwssetpal128Memop128::encode(instr, buf),
        Code::CPYPRN_CPY_memcms => CpyprnCpyMemcms::encode(instr, buf),
        Code::SWPA_32_memop => Swpa32Memop::encode(instr, buf),
        Code::ADCS_32_addsub_carry => Adcs32AddsubCarry::encode(instr, buf),
        Code::CPYFMTRN_CPY_memcms => CpyfmtrnCpyMemcms::encode(instr, buf),
        Code::SMULL_SMADDL_64WA_dp_3src => SmullSmaddl64waDp3src::encode(instr, buf),
        Code::CPYFERTRN_CPY_memcms => CpyfertrnCpyMemcms::encode(instr, buf),
        Code::STILP_64S_ldiappstilp => Stilp64sLdiappstilp::encode(instr, buf),
        Code::LSL_UBFM_32M_bitfield => LslUbfm32mBitfield::encode(instr, buf),
        Code::CPYPRTWN_CPY_memcms => CpyprtwnCpyMemcms::encode(instr, buf),
        Code::ORR_64_log_shift => Orr64LogShift::encode(instr, buf),
        Code::LDSMINAH_32_memop => Ldsminah32Memop::encode(instr, buf),
        Code::SUBS_32S_addsub_imm => Subs32sAddsubImm::encode(instr, buf),
        Code::RORV_64_dp_2src => Rorv64Dp2src::encode(instr, buf),
        Code::CPYFETWN_CPY_memcms => CpyfetwnCpyMemcms::encode(instr, buf),
        Code::RCWSCASA_C64_rcwcomswap => RcwscasaC64Rcwcomswap::encode(instr, buf),
        Code::LDUMAXLH_32_memop => Ldumaxlh32Memop::encode(instr, buf),
        Code::CASL_C32_comswap => CaslC32Comswap::encode(instr, buf),
        Code::LDCLRPAL_128_memop_128 => Ldclrpal128Memop128::encode(instr, buf),
        Code::LDSMAXAB_32_memop => Ldsmaxab32Memop::encode(instr, buf),
        Code::CPYMWTN_CPY_memcms => CpymwtnCpyMemcms::encode(instr, buf),
        Code::CPYFPRTWN_CPY_memcms => CpyfprtwnCpyMemcms::encode(instr, buf),
        Code::ROR_RORV_32_dp_2src => RorRorv32Dp2src::encode(instr, buf),
        Code::RCWSCASPA_C64_rcwcomswappr => RcwscaspaC64Rcwcomswappr::encode(instr, buf),
        Code::RCWSETA_64_memop => Rcwseta64Memop::encode(instr, buf),
        Code::STLURB_32_ldapstl_unscaled => Stlurb32LdapstlUnscaled::encode(instr, buf),
        Code::LDR_32_ldst_immpre => Ldr32LdstImmpre::encode(instr, buf),
        Code::UMNEGL_UMSUBL_64WA_dp_3src => UmneglUmsubl64waDp3src::encode(instr, buf),
        Code::MOV_MOVN_32_movewide => MovMovn32Movewide::encode(instr, buf),
        Code::PRFM_P_loadlit => PrfmPLoadlit::encode(instr, buf),
        Code::LDADDAH_32_memop => Ldaddah32Memop::encode(instr, buf),
        Code::LDSMINL_64_memop => Ldsminl64Memop::encode(instr, buf),
        Code::SUBP_64S_dp_2src => Subp64sDp2src::encode(instr, buf),
        Code::CPYEWTWN_CPY_memcms => CpyewtwnCpyMemcms::encode(instr, buf),
        Code::STSET_LDSET_32_memop => StsetLdset32Memop::encode(instr, buf),
        Code::STSMAXLB_LDSMAXLB_32_memop => StsmaxlbLdsmaxlb32Memop::encode(instr, buf),
        Code::STZ2G_64Spost_ldsttags => Stz2g64spostLdsttags::encode(instr, buf),
        Code::UDF_only_perm_undef => UdfOnlyPermUndef::encode(instr, buf),
        Code::RCWSETPAL_128_memop_128 => Rcwsetpal128Memop128::encode(instr, buf),
        Code::LDP_32_ldstpair_pre => Ldp32LdstpairPre::encode(instr, buf),
        Code::LDTADDAL_32_memop_unpriv => Ldtaddal32MemopUnpriv::encode(instr, buf),
        Code::SMAX_64_minmax_imm => Smax64MinmaxImm::encode(instr, buf),
        Code::STTXR_SR32_ldstexclr_unpriv => SttxrSr32LdstexclrUnpriv::encode(instr, buf),
        Code::ORN_64_log_shift => Orn64LogShift::encode(instr, buf),
        Code::CPYE_CPY_memcms => CpyeCpyMemcms::encode(instr, buf),
        Code::CBHLS_CBHHS_16_regs => CbhlsCbhhs16Regs::encode(instr, buf),
        Code::CBHGE_16_regs => Cbhge16Regs::encode(instr, buf),
        Code::CPYERN_CPY_memcms => CpyernCpyMemcms::encode(instr, buf),
        Code::LDUMINLB_32_memop => Lduminlb32Memop::encode(instr, buf),
        Code::RCWSWPAL_64_memop => Rcwswpal64Memop::encode(instr, buf),
        Code::UDIV_64_dp_2src => Udiv64Dp2src::encode(instr, buf),
        Code::CCMP_32_condcmp_reg => Ccmp32CondcmpReg::encode(instr, buf),
        Code::LDEORL_64_memop => Ldeorl64Memop::encode(instr, buf),
        Code::LDAPURSH_32_ldapstl_unscaled => Ldapursh32LdapstlUnscaled::encode(instr, buf),
        Code::CBLO_CBHI_64_regs => CbloCbhi64Regs::encode(instr, buf),
        Code::CPYFERTN_CPY_memcms => CpyfertnCpyMemcms::encode(instr, buf),
        Code::LDCLRALH_32_memop => Ldclralh32Memop::encode(instr, buf),
        Code::ST64B_64L_memop => St64b64lMemop::encode(instr, buf),
        Code::LDRSB_64_ldst_pos => Ldrsb64LdstPos::encode(instr, buf),
        Code::SWPT_32_memop_unpriv => Swpt32MemopUnpriv::encode(instr, buf),
        Code::LDADDL_32_memop => Ldaddl32Memop::encode(instr, buf),
        Code::CASLT_C64_comswap_unpriv => CasltC64ComswapUnpriv::encode(instr, buf),
        Code::CBBNE_8_regs => Cbbne8Regs::encode(instr, buf),
        Code::BIC_32_log_shift => Bic32LogShift::encode(instr, buf),
        Code::CBLS_CBHS_64_regs => CblsCbhs64Regs::encode(instr, buf),
        Code::ANDS_64_log_shift => Ands64LogShift::encode(instr, buf),
        Code::LDSETPL_128_memop_128 => Ldsetpl128Memop128::encode(instr, buf),
        Code::MOV_ORR_64_log_shift => MovOrr64LogShift::encode(instr, buf),
        Code::SETGMT_SET_memcms => SetgmtSetMemcms::encode(instr, buf),
        Code::STLR_SL64_ldstord => StlrSl64Ldstord::encode(instr, buf),
        Code::SUB_32_addsub_imm => Sub32AddsubImm::encode(instr, buf),
        Code::CASPL_CP32_comswappr => CasplCp32Comswappr::encode(instr, buf),
        Code::STTRB_32_ldst_unpriv => Sttrb32LdstUnpriv::encode(instr, buf),
        Code::MSUB_32A_dp_3src => Msub32aDp3src::encode(instr, buf),
        Code::STSMINL_LDSMINL_32_memop => StsminlLdsminl32Memop::encode(instr, buf),
        Code::STSETLB_LDSETLB_32_memop => StsetlbLdsetlb32Memop::encode(instr, buf),
        Code::LDSETA_32_memop => Ldseta32Memop::encode(instr, buf),
        Code::CASPA_CP64_comswappr => CaspaCp64Comswappr::encode(instr, buf),
        Code::LDSMAX_32_memop => Ldsmax32Memop::encode(instr, buf),
        Code::LDSMIN_32_memop => Ldsmin32Memop::encode(instr, buf),
        Code::LDAPUR_32_ldapstl_unscaled => Ldapur32LdapstlUnscaled::encode(instr, buf),
        Code::CAST_C64_comswap_unpriv => CastC64ComswapUnpriv::encode(instr, buf),
        Code::RCWCASPAL_C64_rcwcomswappr => RcwcaspalC64Rcwcomswappr::encode(instr, buf),
        Code::LDP_64_ldstpair_off => Ldp64LdstpairOff::encode(instr, buf),
        Code::SWPTA_32_memop_unpriv => Swpta32MemopUnpriv::encode(instr, buf),
        Code::STSMAXL_LDSMAXL_64_memop => StsmaxlLdsmaxl64Memop::encode(instr, buf),
        Code::CMP_SUBS_32S_addsub_imm => CmpSubs32sAddsubImm::encode(instr, buf),
        Code::STSMIN_LDSMIN_64_memop => StsminLdsmin64Memop::encode(instr, buf),
        Code::LDSMAXH_32_memop => Ldsmaxh32Memop::encode(instr, buf),
        Code::TST_ANDS_64S_log_imm => TstAnds64sLogImm::encode(instr, buf),
        Code::CBHGT_16_regs => Cbhgt16Regs::encode(instr, buf),
        Code::CBNE_32_regs => Cbne32Regs::encode(instr, buf),
        Code::LDAPP_64_ldiappstilp => Ldapp64Ldiappstilp::encode(instr, buf),
        Code::PACIA_64P_dp_1src => Pacia64pDp1src::encode(instr, buf),
        Code::STUMINL_LDUMINL_32_memop => StuminlLduminl32Memop::encode(instr, buf),
        Code::BLRABZ_64_branch_reg => Blrabz64BranchReg::encode(instr, buf),
        Code::CBHI_32_regs => Cbhi32Regs::encode(instr, buf),
        Code::ADDS_64_addsub_shift => Adds64AddsubShift::encode(instr, buf),
        Code::CBLE_CBLT_64_imm => CbleCblt64Imm::encode(instr, buf),
        Code::CPYFERN_CPY_memcms => CpyfernCpyMemcms::encode(instr, buf),
        Code::CRC32CW_32C_dp_2src => Crc32cw32cDp2src::encode(instr, buf),
        Code::EOR_32_log_shift => Eor32LogShift::encode(instr, buf),
        Code::LDCLRA_32_memop => Ldclra32Memop::encode(instr, buf),
        Code::LSR_LSRV_32_dp_2src => LsrLsrv32Dp2src::encode(instr, buf),
        Code::RCWSSET_64_memop => Rcwsset64Memop::encode(instr, buf),
        Code::CASH_C32_comswap => CashC32Comswap::encode(instr, buf),
        Code::RCWSSWPPAL_128_memop_128 => Rcwsswppal128Memop128::encode(instr, buf),
        Code::CBNE_64_imm => Cbne64Imm::encode(instr, buf),
        Code::RETAA_64E_branch_reg => Retaa64eBranchReg::encode(instr, buf),
        Code::ADDS_64S_addsub_ext => Adds64sAddsubExt::encode(instr, buf),
        Code::STILP_64SS_ldiappstilp => Stilp64ssLdiappstilp::encode(instr, buf),
        Code::CSET_CSINC_64_condsel => CsetCsinc64Condsel::encode(instr, buf),
        Code::CINC_CSINC_64_condsel => CincCsinc64Condsel::encode(instr, buf),
        Code::PACIBSP_HI_hints => PacibspHiHints::encode(instr, buf),
        Code::SWPTL_64_memop_unpriv => Swptl64MemopUnpriv::encode(instr, buf),
        Code::EOR_32_log_imm => Eor32LogImm::encode(instr, buf),
        Code::LDSETA_64_memop => Ldseta64Memop::encode(instr, buf),
        Code::RCWCASP_C64_rcwcomswappr => RcwcaspC64Rcwcomswappr::encode(instr, buf),
        Code::RCWSSETA_64_memop => Rcwsseta64Memop::encode(instr, buf),
        Code::MOV_ORR_32_log_shift => MovOrr32LogShift::encode(instr, buf),
        Code::STR_32_ldst_regoff => Str32LdstRegoff::encode(instr, buf),
        Code::RCWSET_64_memop => Rcwset64Memop::encode(instr, buf),
        Code::STGP_64_ldstpair_off => Stgp64LdstpairOff::encode(instr, buf),
        Code::ST2G_64Spost_ldsttags => St2g64spostLdsttags::encode(instr, buf),
        Code::LDR_64_ldst_regoff => Ldr64LdstRegoff::encode(instr, buf),
        Code::RCWCLRPL_128_memop_128 => Rcwclrpl128Memop128::encode(instr, buf),
        Code::LDPSW_64_ldstpair_off => Ldpsw64LdstpairOff::encode(instr, buf),
        Code::STSMAXLH_LDSMAXLH_32_memop => StsmaxlhLdsmaxlh32Memop::encode(instr, buf),
        Code::STUMINH_LDUMINH_32_memop => StuminhLduminh32Memop::encode(instr, buf),
        Code::SWPH_32_memop => Swph32Memop::encode(instr, buf),
        Code::CPYFPT_CPY_memcms => CpyfptCpyMemcms::encode(instr, buf),
        Code::LDAPURB_32_ldapstl_unscaled => Ldapurb32LdapstlUnscaled::encode(instr, buf),
        Code::LDIAPP_64L_ldiappstilp => Ldiapp64lLdiappstilp::encode(instr, buf),
        Code::PACDZB_64Z_dp_1src => Pacdzb64zDp1src::encode(instr, buf),
        Code::LDURSB_32_ldst_unscaled => Ldursb32LdstUnscaled::encode(instr, buf),
        Code::LDRH_32_ldst_immpost => Ldrh32LdstImmpost::encode(instr, buf),
        Code::CASAL_C32_comswap => CasalC32Comswap::encode(instr, buf),
        Code::CMN_ADDS_64S_addsub_imm => CmnAdds64sAddsubImm::encode(instr, buf),
        Code::REV_64_dp_1src => Rev64Dp1src::encode(instr, buf),
        Code::LDTSETA_64_memop_unpriv => Ldtseta64MemopUnpriv::encode(instr, buf),
        Code::RETABSPPC_only_miscbranch => RetabsppcOnlyMiscbranch::encode(instr, buf),
        Code::REV16_64_dp_1src => Rev1664Dp1src::encode(instr, buf),
        Code::STEORLH_LDEORLH_32_memop => SteorlhLdeorlh32Memop::encode(instr, buf),
        Code::IRG_64I_dp_2src => Irg64iDp2src::encode(instr, buf),
        Code::LDUMAXA_32_memop => Ldumaxa32Memop::encode(instr, buf),
        Code::AUTIB_64P_dp_1src => Autib64pDp1src::encode(instr, buf),
        Code::SMSUBL_64WA_dp_3src => Smsubl64waDp3src::encode(instr, buf),
        Code::LDTRSB_32_ldst_unpriv => Ldtrsb32LdstUnpriv::encode(instr, buf),
        Code::CCMP_32_condcmp_imm => Ccmp32CondcmpImm::encode(instr, buf),
        Code::ERETAA_64E_branch_reg => Eretaa64eBranchReg::encode(instr, buf),
        Code::LDSMAXLB_32_memop => Ldsmaxlb32Memop::encode(instr, buf),
        Code::LDTR_64_ldst_unpriv => Ldtr64LdstUnpriv::encode(instr, buf),
        Code::AUTDZA_64Z_dp_1src => Autdza64zDp1src::encode(instr, buf),
        Code::LDUMAXAB_32_memop => Ldumaxab32Memop::encode(instr, buf),
        Code::SETMT_SET_memcms => SetmtSetMemcms::encode(instr, buf),
        Code::SMIN_32_minmax_imm => Smin32MinmaxImm::encode(instr, buf),
        Code::SMNEGL_SMSUBL_64WA_dp_3src => SmneglSmsubl64waDp3src::encode(instr, buf),
        Code::UMAX_32_dp_2src => Umax32Dp2src::encode(instr, buf),
        Code::CRC32H_32C_dp_2src => Crc32h32cDp2src::encode(instr, buf),
        Code::LDSMAXA_64_memop => Ldsmaxa64Memop::encode(instr, buf),
        Code::STSMINH_LDSMINH_32_memop => StsminhLdsminh32Memop::encode(instr, buf),
        Code::CPYETN_CPY_memcms => CpyetnCpyMemcms::encode(instr, buf),
        Code::SETP_SET_memcms => SetpSetMemcms::encode(instr, buf),
        Code::AND_64_log_imm => And64LogImm::encode(instr, buf),
        Code::BLRAA_64P_branch_reg => Blraa64pBranchReg::encode(instr, buf),
        Code::LDRSW_64_ldst_pos => Ldrsw64LdstPos::encode(instr, buf),
        Code::LDUMINAL_64_memop => Lduminal64Memop::encode(instr, buf),
        Code::CASPAL_CP64_comswappr => CaspalCp64Comswappr::encode(instr, buf),
        Code::CPYFEWT_CPY_memcms => CpyfewtCpyMemcms::encode(instr, buf),
        Code::LDAXP_LP64_ldstexclp => LdaxpLp64Ldstexclp::encode(instr, buf),
        Code::STLXR_SR64_ldstexclr => StlxrSr64Ldstexclr::encode(instr, buf),
        Code::CPYFMWTN_CPY_memcms => CpyfmwtnCpyMemcms::encode(instr, buf),
        Code::SETGEN_SET_memcms => SetgenSetMemcms::encode(instr, buf),
        Code::SXTW_SBFM_64M_bitfield => SxtwSbfm64mBitfield::encode(instr, buf),
        Code::PACIB_64P_dp_1src => Pacib64pDp1src::encode(instr, buf),
        Code::CSINC_64_condsel => Csinc64Condsel::encode(instr, buf),
        Code::CPYFMN_CPY_memcms => CpyfmnCpyMemcms::encode(instr, buf),
        Code::LDARH_LR32_ldstord => LdarhLr32Ldstord::encode(instr, buf),
        Code::LDRSH_64_ldst_immpre => Ldrsh64LdstImmpre::encode(instr, buf),
        Code::LDRSH_32_ldst_regoff => Ldrsh32LdstRegoff::encode(instr, buf),
        Code::LDEORAL_64_memop => Ldeoral64Memop::encode(instr, buf),
        Code::CBHNE_16_regs => Cbhne16Regs::encode(instr, buf),
        Code::NEG_SUB_32_addsub_shift => NegSub32AddsubShift::encode(instr, buf),
        Code::STRH_32_ldst_immpre => Strh32LdstImmpre::encode(instr, buf),
        Code::LDIAPP_32L_ldiappstilp => Ldiapp32lLdiappstilp::encode(instr, buf),
        Code::SXTB_SBFM_32M_bitfield => SxtbSbfm32mBitfield::encode(instr, buf),
        Code::NEG_SUB_64_addsub_shift => NegSub64AddsubShift::encode(instr, buf),
        Code::LDEORAB_32_memop => Ldeorab32Memop::encode(instr, buf),
        Code::STLXP_SP64_ldstexclp => StlxpSp64Ldstexclp::encode(instr, buf),
        Code::UMIN_64_dp_2src => Umin64Dp2src::encode(instr, buf),
        Code::RET_64R_branch_reg => Ret64rBranchReg::encode(instr, buf),
        Code::STG_64Spre_ldsttags => Stg64spreLdsttags::encode(instr, buf),
        Code::MOV_ORR_64_log_imm => MovOrr64LogImm::encode(instr, buf),
        Code::SWPLB_32_memop => Swplb32Memop::encode(instr, buf),
        Code::AUTIB171615_64LR_dp_1src => Autib17161564lrDp1src::encode(instr, buf),
        Code::PRFM_P_ldst_regoff => PrfmPLdstRegoff::encode(instr, buf),
        Code::RCWSWP_64_memop => Rcwswp64Memop::encode(instr, buf),
        Code::RCWSWPPL_128_memop_128 => Rcwswppl128Memop128::encode(instr, buf),
        Code::STTNP_64_ldstnapair_offs => Sttnp64LdstnapairOffs::encode(instr, buf),
        Code::CPYEWTRN_CPY_memcms => CpyewtrnCpyMemcms::encode(instr, buf),
        Code::LDUMINALB_32_memop => Lduminalb32Memop::encode(instr, buf),
        Code::ADC_64_addsub_carry => Adc64AddsubCarry::encode(instr, buf),
        Code::CBLS_CBHS_32_regs => CblsCbhs32Regs::encode(instr, buf),
        Code::CBNZ_64_compbranch => Cbnz64Compbranch::encode(instr, buf),
        Code::RCWSCLRAL_64_memop => Rcwsclral64Memop::encode(instr, buf),
        Code::CPYFMRTRN_CPY_memcms => CpyfmrtrnCpyMemcms::encode(instr, buf),
        Code::CPYMWTRN_CPY_memcms => CpymwtrnCpyMemcms::encode(instr, buf),
        Code::STLRH_SL32_ldstord => StlrhSl32Ldstord::encode(instr, buf),
        Code::CBLT_CBGT_64_regs => CbltCbgt64Regs::encode(instr, buf),
        Code::MOV_ORR_32_log_imm => MovOrr32LogImm::encode(instr, buf),
        Code::STZGM_64bulk_ldsttags => Stzgm64bulkLdsttags::encode(instr, buf),
        Code::UBFIZ_UBFM_64M_bitfield => UbfizUbfm64mBitfield::encode(instr, buf),
        Code::CBNZ_32_compbranch => Cbnz32Compbranch::encode(instr, buf),
        Code::BLRAAZ_64_branch_reg => Blraaz64BranchReg::encode(instr, buf),
        Code::CASALT_C64_comswap_unpriv => CasaltC64ComswapUnpriv::encode(instr, buf),
        Code::ADD_64_addsub_ext => Add64AddsubExt::encode(instr, buf),
        Code::CBLE_CBGE_32_regs => CbleCbge32Regs::encode(instr, buf),
        Code::SUB_64_addsub_ext => Sub64AddsubExt::encode(instr, buf),
        Code::LDSMINA_64_memop => Ldsmina64Memop::encode(instr, buf),
        Code::CNEG_CSNEG_32_condsel => CnegCsneg32Condsel::encode(instr, buf),
        Code::LDRSB_64_ldst_immpost => Ldrsb64LdstImmpost::encode(instr, buf),
        Code::LDTCLRL_32_memop_unpriv => Ldtclrl32MemopUnpriv::encode(instr, buf),
        Code::LDUMAXB_32_memop => Ldumaxb32Memop::encode(instr, buf),
        Code::LDUMAXL_64_memop => Ldumaxl64Memop::encode(instr, buf),
        Code::PACIA171615_64LR_dp_1src => Pacia17161564lrDp1src::encode(instr, buf),
        Code::LDSMAXAH_32_memop => Ldsmaxah32Memop::encode(instr, buf),
        Code::SWPTA_64_memop_unpriv => Swpta64MemopUnpriv::encode(instr, buf),
        Code::SDIV_64_dp_2src => Sdiv64Dp2src::encode(instr, buf),
        Code::LDSMINAL_32_memop => Ldsminal32Memop::encode(instr, buf),
        Code::SWPP_128_memop_128 => Swpp128Memop128::encode(instr, buf),
        Code::UDIV_32_dp_2src => Udiv32Dp2src::encode(instr, buf),
        Code::CMN_ADDS_32S_addsub_imm => CmnAdds32sAddsubImm::encode(instr, buf),
        Code::CPYFEWN_CPY_memcms => CpyfewnCpyMemcms::encode(instr, buf),
        Code::LDAP_64_ldiappstilp => Ldap64Ldiappstilp::encode(instr, buf),
        Code::CNT_64_dp_1src => Cnt64Dp1src::encode(instr, buf),
        Code::PRFUM_P_ldst_unscaled => PrfumPLdstUnscaled::encode(instr, buf),
        Code::SBC_64_addsub_carry => Sbc64AddsubCarry::encode(instr, buf),
        Code::STZG_64Spre_ldsttags => Stzg64spreLdsttags::encode(instr, buf),
        Code::STTP_64_ldstpair_pre => Sttp64LdstpairPre::encode(instr, buf),
        Code::SUBS_64S_addsub_ext => Subs64sAddsubExt::encode(instr, buf),
        Code::STUMINB_LDUMINB_32_memop => StuminbLduminb32Memop::encode(instr, buf),
        Code::LDCLRH_32_memop => Ldclrh32Memop::encode(instr, buf),
        Code::CPYPWT_CPY_memcms => CpypwtCpyMemcms::encode(instr, buf),
        Code::CRC32W_32C_dp_2src => Crc32w32cDp2src::encode(instr, buf),
        Code::CASLH_C32_comswap => CaslhC32Comswap::encode(instr, buf),
        Code::LDCLRL_32_memop => Ldclrl32Memop::encode(instr, buf),
        Code::STRB_32B_ldst_regoff => Strb32bLdstRegoff::encode(instr, buf),
        Code::CPYFMRT_CPY_memcms => CpyfmrtCpyMemcms::encode(instr, buf),
        Code::MOVN_64_movewide => Movn64Movewide::encode(instr, buf),
        Code::RORV_32_dp_2src => Rorv32Dp2src::encode(instr, buf),
        Code::CPYMWT_CPY_memcms => CpymwtCpyMemcms::encode(instr, buf),
        Code::SETET_SET_memcms => SetetSetMemcms::encode(instr, buf),
        Code::CBGE_32_regs => Cbge32Regs::encode(instr, buf),
        Code::STSETL_LDSETL_64_memop => StsetlLdsetl64Memop::encode(instr, buf),
        Code::CPYFEWTRN_CPY_memcms => CpyfewtrnCpyMemcms::encode(instr, buf),
        Code::LDAPUR_64_ldapstl_unscaled => Ldapur64LdapstlUnscaled::encode(instr, buf),
        Code::LDUMINAH_32_memop => Lduminah32Memop::encode(instr, buf),
        Code::SMULH_64_dp_3src => Smulh64Dp3src::encode(instr, buf),
        Code::RCWCASPL_C64_rcwcomswappr => RcwcasplC64Rcwcomswappr::encode(instr, buf),
        Code::STTR_32_ldst_unpriv => Sttr32LdstUnpriv::encode(instr, buf),
        Code::LDSETL_32_memop => Ldsetl32Memop::encode(instr, buf),
        Code::BRABZ_64_branch_reg => Brabz64BranchReg::encode(instr, buf),
        Code::LDTADD_64_memop_unpriv => Ldtadd64MemopUnpriv::encode(instr, buf),
        Code::LDADDH_32_memop => Ldaddh32Memop::encode(instr, buf),
        Code::LDG_64Loffset_ldsttags => Ldg64loffsetLdsttags::encode(instr, buf),
        Code::LDUMINALH_32_memop => Lduminalh32Memop::encode(instr, buf),
        Code::SETGP_SET_memcms => SetgpSetMemcms::encode(instr, buf),
        Code::MVN_ORN_64_log_shift => MvnOrn64LogShift::encode(instr, buf),
        Code::CMN_ADDS_32S_addsub_ext => CmnAdds32sAddsubExt::encode(instr, buf),
        Code::AUTIBSPPCR_64LRR_dp_1src => Autibsppcr64lrrDp1src::encode(instr, buf),
        Code::CBHHS_16_regs => Cbhhs16Regs::encode(instr, buf),
        Code::SWPLH_32_memop => Swplh32Memop::encode(instr, buf),
        Code::RCWSWPP_128_memop_128 => Rcwswpp128Memop128::encode(instr, buf),
        Code::STCLRB_LDCLRB_32_memop => StclrbLdclrb32Memop::encode(instr, buf),
        Code::CASAB_C32_comswap => CasabC32Comswap::encode(instr, buf),
        Code::LDRSB_64B_ldst_regoff => Ldrsb64bLdstRegoff::encode(instr, buf),
        Code::LDEOR_32_memop => Ldeor32Memop::encode(instr, buf),
        Code::ANDS_32S_log_imm => Ands32sLogImm::encode(instr, buf),
        Code::ABS_32_dp_1src => Abs32Dp1src::encode(instr, buf),
        Code::LDTSETL_32_memop_unpriv => Ldtsetl32MemopUnpriv::encode(instr, buf),
        Code::STTSETL_LDTSETL_64_memop_unpriv => SttsetlLdtsetl64MemopUnpriv::encode(instr, buf),
        Code::SWP_32_memop => Swp32Memop::encode(instr, buf),
        Code::CBLS_CBLO_32_imm => CblsCblo32Imm::encode(instr, buf),
        Code::CBHS_64_regs => Cbhs64Regs::encode(instr, buf),
        Code::ABS_64_dp_1src => Abs64Dp1src::encode(instr, buf),
        Code::PACIZB_64Z_dp_1src => Pacizb64zDp1src::encode(instr, buf),
        Code::LDCLRAL_32_memop => Ldclral32Memop::encode(instr, buf),
        Code::STNP_32_ldstnapair_offs => Stnp32LdstnapairOffs::encode(instr, buf),
        Code::TST_ANDS_64_log_shift => TstAnds64LogShift::encode(instr, buf),
        Code::LDTP_64_ldstpair_off => Ldtp64LdstpairOff::encode(instr, buf),
        Code::ADDS_32_addsub_shift => Adds32AddsubShift::encode(instr, buf),
        Code::STSETLH_LDSETLH_32_memop => StsetlhLdsetlh32Memop::encode(instr, buf),
        Code::MUL_MADD_64A_dp_3src => MulMadd64aDp3src::encode(instr, buf),
        Code::STNP_64_ldstnapair_offs => Stnp64LdstnapairOffs::encode(instr, buf),
        Code::CASLB_C32_comswap => CaslbC32Comswap::encode(instr, buf),
        Code::LDEORA_64_memop => Ldeora64Memop::encode(instr, buf),
        Code::CPYFMTWN_CPY_memcms => CpyfmtwnCpyMemcms::encode(instr, buf),
        Code::STEORL_LDEORL_32_memop => SteorlLdeorl32Memop::encode(instr, buf),
        Code::ANDS_32_log_shift => Ands32LogShift::encode(instr, buf),
        Code::CCMN_64_condcmp_imm => Ccmn64CondcmpImm::encode(instr, buf),
        Code::LDRSB_32_ldst_immpre => Ldrsb32LdstImmpre::encode(instr, buf),
        Code::CPYERTRN_CPY_memcms => CpyertrnCpyMemcms::encode(instr, buf),
        Code::ADDS_32S_addsub_imm => Adds32sAddsubImm::encode(instr, buf),
        Code::LDTRSH_64_ldst_unpriv => Ldtrsh64LdstUnpriv::encode(instr, buf),
        Code::LDURSH_32_ldst_unscaled => Ldursh32LdstUnscaled::encode(instr, buf),
        Code::RCWSCAS_C64_rcwcomswap => RcwscasC64Rcwcomswap::encode(instr, buf),
        Code::STCLRH_LDCLRH_32_memop => StclrhLdclrh32Memop::encode(instr, buf),
        Code::LDUMINAB_32_memop => Lduminab32Memop::encode(instr, buf),
        Code::ST64BV0_64_memop => St64bv064Memop::encode(instr, buf),
        Code::CCMN_64_condcmp_reg => Ccmn64CondcmpReg::encode(instr, buf),
        Code::CNT_32_dp_1src => Cnt32Dp1src::encode(instr, buf),
        Code::CASPAT_CP64_comswappr_unpriv => CaspatCp64ComswapprUnpriv::encode(instr, buf),
        Code::CTZ_64_dp_1src => Ctz64Dp1src::encode(instr, buf),
        Code::EON_32_log_shift => Eon32LogShift::encode(instr, buf),
        Code::CBHLE_CBHGE_16_regs => CbhleCbhge16Regs::encode(instr, buf),
        Code::LSR_UBFM_32M_bitfield => LsrUbfm32mBitfield::encode(instr, buf),
        Code::CPYFET_CPY_memcms => CpyfetCpyMemcms::encode(instr, buf),
        Code::LDAXR_LR64_ldstexclr => LdaxrLr64Ldstexclr::encode(instr, buf),
        Code::LDXRH_LR32_ldstexclr => LdxrhLr32Ldstexclr::encode(instr, buf),
        Code::LDTCLRA_64_memop_unpriv => Ldtclra64MemopUnpriv::encode(instr, buf),
        Code::AUTIBSP_HI_hints => AutibspHiHints::encode(instr, buf),
        Code::AND_32_log_shift => And32LogShift::encode(instr, buf),
        Code::LDR_32_ldst_immpost => Ldr32LdstImmpost::encode(instr, buf),
        Code::BIC_64_log_shift => Bic64LogShift::encode(instr, buf),
        Code::CMN_ADDS_64S_addsub_ext => CmnAdds64sAddsubExt::encode(instr, buf),
        Code::LDSETALH_32_memop => Ldsetalh32Memop::encode(instr, buf),
        Code::LDCLRPA_128_memop_128 => Ldclrpa128Memop128::encode(instr, buf),
        Code::RCWSCLRPA_128_memop_128 => Rcwsclrpa128Memop128::encode(instr, buf),
        Code::LSL_LSLV_64_dp_2src => LslLslv64Dp2src::encode(instr, buf),
        Code::RBIT_64_dp_1src => Rbit64Dp1src::encode(instr, buf),
        Code::RCWSSETPL_128_memop_128 => Rcwssetpl128Memop128::encode(instr, buf),
        Code::LDUMINL_32_memop => Lduminl32Memop::encode(instr, buf),
        Code::CPYPTWN_CPY_memcms => CpyptwnCpyMemcms::encode(instr, buf),
        Code::LDCLRA_64_memop => Ldclra64Memop::encode(instr, buf),
        Code::LDRH_32_ldst_immpre => Ldrh32LdstImmpre::encode(instr, buf),
        Code::LDCLRP_128_memop_128 => Ldclrp128Memop128::encode(instr, buf),
        Code::STZG_64Spost_ldsttags => Stzg64spostLdsttags::encode(instr, buf),
        Code::CRC32X_64C_dp_2src => Crc32x64cDp2src::encode(instr, buf),
        Code::RCWCLRPA_128_memop_128 => Rcwclrpa128Memop128::encode(instr, buf),
        Code::STRH_32_ldst_immpost => Strh32LdstImmpost::encode(instr, buf),
        Code::UMIN_64U_minmax_imm => Umin64uMinmaxImm::encode(instr, buf),
        Code::LDR_64_ldst_immpost => Ldr64LdstImmpost::encode(instr, buf),
        Code::RCWSETL_64_memop => Rcwsetl64Memop::encode(instr, buf),
        Code::LDUMINLH_32_memop => Lduminlh32Memop::encode(instr, buf),
        Code::ASR_SBFM_64M_bitfield => AsrSbfm64mBitfield::encode(instr, buf),
        Code::CPYPTN_CPY_memcms => CpyptnCpyMemcms::encode(instr, buf),
        Code::CASPL_CP64_comswappr => CasplCp64Comswappr::encode(instr, buf),
        Code::LDSMINH_32_memop => Ldsminh32Memop::encode(instr, buf),
        Code::LDTSETAL_64_memop_unpriv => Ldtsetal64MemopUnpriv::encode(instr, buf),
        Code::LDAXR_LR32_ldstexclr => LdaxrLr32Ldstexclr::encode(instr, buf),
        Code::LDTADDL_32_memop_unpriv => Ldtaddl32MemopUnpriv::encode(instr, buf),
        Code::LDRSB_32_ldst_pos => Ldrsb32LdstPos::encode(instr, buf),
        Code::PACNBIASPPC_64LR_dp_1src => Pacnbiasppc64lrDp1src::encode(instr, buf),
        Code::SWPT_64_memop_unpriv => Swpt64MemopUnpriv::encode(instr, buf),
        Code::LDEORA_32_memop => Ldeora32Memop::encode(instr, buf),
        Code::UMIN_32U_minmax_imm => Umin32uMinmaxImm::encode(instr, buf),
        Code::STSMAXL_LDSMAXL_32_memop => StsmaxlLdsmaxl32Memop::encode(instr, buf),
        Code::SMIN_64_minmax_imm => Smin64MinmaxImm::encode(instr, buf),
        Code::LDATXR_LR64_ldstexclr_unpriv => LdatxrLr64LdstexclrUnpriv::encode(instr, buf),
        Code::ASRV_32_dp_2src => Asrv32Dp2src::encode(instr, buf),
        Code::BRAAZ_64_branch_reg => Braaz64BranchReg::encode(instr, buf),
        Code::CBHI_32_imm => Cbhi32Imm::encode(instr, buf),
        Code::STXR_SR64_ldstexclr => StxrSr64Ldstexclr::encode(instr, buf),
        Code::CPYFPWN_CPY_memcms => CpyfpwnCpyMemcms::encode(instr, buf),
        Code::LDUMAXAL_32_memop => Ldumaxal32Memop::encode(instr, buf),
        Code::STRH_32_ldst_pos => Strh32LdstPos::encode(instr, buf),
        Code::STR_32_ldst_immpost => Str32LdstImmpost::encode(instr, buf),
        Code::LDTCLRA_32_memop_unpriv => Ldtclra32MemopUnpriv::encode(instr, buf),
        Code::LDCLRLH_32_memop => Ldclrlh32Memop::encode(instr, buf),
        Code::SETETN_SET_memcms => SetetnSetMemcms::encode(instr, buf),
        Code::STUMINLH_LDUMINLH_32_memop => StuminlhLduminlh32Memop::encode(instr, buf),
        Code::CRC32B_32C_dp_2src => Crc32b32cDp2src::encode(instr, buf),
        Code::CPYFPN_CPY_memcms => CpyfpnCpyMemcms::encode(instr, buf),
        Code::RETAB_64E_branch_reg => Retab64eBranchReg::encode(instr, buf),
        Code::STXR_SR32_ldstexclr => StxrSr32Ldstexclr::encode(instr, buf),
        Code::PACDB_64P_dp_1src => Pacdb64pDp1src::encode(instr, buf),
        Code::CBLE_CBLT_32_imm => CbleCblt32Imm::encode(instr, buf),
        Code::STUMAXLB_LDUMAXLB_32_memop => StumaxlbLdumaxlb32Memop::encode(instr, buf),
        Code::MOV_MOVZ_32_movewide => MovMovz32Movewide::encode(instr, buf),
        Code::UXTB_UBFM_32M_bitfield => UxtbUbfm32mBitfield::encode(instr, buf),
        Code::LDP_32_ldstpair_post => Ldp32LdstpairPost::encode(instr, buf),
        Code::RCWCASPA_C64_rcwcomswappr => RcwcaspaC64Rcwcomswappr::encode(instr, buf),
        Code::ANDS_64S_log_imm => Ands64sLogImm::encode(instr, buf),
        Code::LDEORLH_32_memop => Ldeorlh32Memop::encode(instr, buf),
        Code::CPYFEWTN_CPY_memcms => CpyfewtnCpyMemcms::encode(instr, buf),
        Code::CBLT_32_imm => Cblt32Imm::encode(instr, buf),
        Code::LDURSB_64_ldst_unscaled => Ldursb64LdstUnscaled::encode(instr, buf),
        Code::PACIB1716_HI_hints => Pacib1716HiHints::encode(instr, buf),
        Code::GCSSTTR_64_ldst_gcs => Gcssttr64LdstGcs::encode(instr, buf),
        Code::LDRB_32B_ldst_regoff => Ldrb32bLdstRegoff::encode(instr, buf),
        Code::STG_64Spost_ldsttags => Stg64spostLdsttags::encode(instr, buf),
        Code::STEOR_LDEOR_32_memop => SteorLdeor32Memop::encode(instr, buf),
        Code::STADDLB_LDADDLB_32_memop => StaddlbLdaddlb32Memop::encode(instr, buf),
        Code::SWPAB_32_memop => Swpab32Memop::encode(instr, buf),
        Code::LDUMINB_32_memop => Lduminb32Memop::encode(instr, buf),
        Code::CBEQ_64_imm => Cbeq64Imm::encode(instr, buf),
        Code::SETGPN_SET_memcms => SetgpnSetMemcms::encode(instr, buf),
        Code::SBFM_64M_bitfield => Sbfm64mBitfield::encode(instr, buf),
        Code::CBHHI_16_regs => Cbhhi16Regs::encode(instr, buf),
        Code::LDAXRB_LR32_ldstexclr => LdaxrbLr32Ldstexclr::encode(instr, buf),
        Code::MADD_64A_dp_3src => Madd64aDp3src::encode(instr, buf),
        Code::SUBS_32S_addsub_ext => Subs32sAddsubExt::encode(instr, buf),
        Code::CLS_64_dp_1src => Cls64Dp1src::encode(instr, buf),
        Code::LDNP_64_ldstnapair_offs => Ldnp64LdstnapairOffs::encode(instr, buf),
        Code::CPYFERT_CPY_memcms => CpyfertCpyMemcms::encode(instr, buf),
        Code::CPYMRT_CPY_memcms => CpymrtCpyMemcms::encode(instr, buf),
        Code::RCWSCLRA_64_memop => Rcwsclra64Memop::encode(instr, buf),
        Code::ORN_32_log_shift => Orn32LogShift::encode(instr, buf),
        Code::RCWSCLRPL_128_memop_128 => Rcwsclrpl128Memop128::encode(instr, buf),
        Code::LDADDAB_32_memop => Ldaddab32Memop::encode(instr, buf),
        Code::STCLR_LDCLR_32_memop => StclrLdclr32Memop::encode(instr, buf),
        Code::STUR_32_ldst_unscaled => Stur32LdstUnscaled::encode(instr, buf),
        Code::CINV_CSINV_32_condsel => CinvCsinv32Condsel::encode(instr, buf),
        Code::RMIF_only_rmif => RmifOnlyRmif::encode(instr, buf),
        Code::REV32_64_dp_1src => Rev3264Dp1src::encode(instr, buf),
        Code::LDRH_32_ldst_regoff => Ldrh32LdstRegoff::encode(instr, buf),
        Code::LDADDALB_32_memop => Ldaddalb32Memop::encode(instr, buf),
        Code::RCWSCLRP_128_memop_128 => Rcwsclrp128Memop128::encode(instr, buf),
        Code::CPYEN_CPY_memcms => CpyenCpyMemcms::encode(instr, buf),
        Code::UMIN_32_dp_2src => Umin32Dp2src::encode(instr, buf),
        Code::LDAR_LR32_ldstord => LdarLr32Ldstord::encode(instr, buf),
        Code::LDSMAX_64_memop => Ldsmax64Memop::encode(instr, buf),
        Code::MOVZ_64_movewide => Movz64Movewide::encode(instr, buf),
        Code::LDAPR_64L_ldapstl_writeback => Ldapr64lLdapstlWriteback::encode(instr, buf),
        Code::MOV_ADD_32_addsub_imm => MovAdd32AddsubImm::encode(instr, buf),
        Code::STADDLH_LDADDLH_32_memop => StaddlhLdaddlh32Memop::encode(instr, buf),
        Code::LDSMINALH_32_memop => Ldsminalh32Memop::encode(instr, buf),
        Code::LDAPURSH_64_ldapstl_unscaled => Ldapursh64LdapstlUnscaled::encode(instr, buf),
        Code::CPYMTN_CPY_memcms => CpymtnCpyMemcms::encode(instr, buf),
        Code::CSET_CSINC_32_condsel => CsetCsinc32Condsel::encode(instr, buf),
        Code::STXP_SP64_ldstexclp => StxpSp64Ldstexclp::encode(instr, buf),
        Code::STTADDL_LDTADDL_64_memop_unpriv => SttaddlLdtaddl64MemopUnpriv::encode(instr, buf),
        Code::RCWSSWP_64_memop => Rcwsswp64Memop::encode(instr, buf),
        Code::B_only_branch_imm => BOnlyBranchImm::encode(instr, buf),
        Code::LDSMINB_32_memop => Ldsminb32Memop::encode(instr, buf),
        Code::PACIASPPC_64LR_dp_1src => Paciasppc64lrDp1src::encode(instr, buf),
        Code::ADDS_32S_addsub_ext => Adds32sAddsubExt::encode(instr, buf),
        Code::AUTIZA_64Z_dp_1src => Autiza64zDp1src::encode(instr, buf),
        Code::STR_64_ldst_immpre => Str64LdstImmpre::encode(instr, buf),
        Code::LDUMIN_32_memop => Ldumin32Memop::encode(instr, buf),
        Code::STSMAXB_LDSMAXB_32_memop => StsmaxbLdsmaxb32Memop::encode(instr, buf),
        Code::SUB_64_addsub_imm => Sub64AddsubImm::encode(instr, buf),
        Code::BFC_BFM_32M_bitfield => BfcBfm32mBitfield::encode(instr, buf),
        Code::LSL_LSLV_32_dp_2src => LslLslv32Dp2src::encode(instr, buf),
        Code::STSMAX_LDSMAX_32_memop => StsmaxLdsmax32Memop::encode(instr, buf),
        Code::CBLS_CBLO_64_imm => CblsCblo64Imm::encode(instr, buf),
        Code::LDXR_LR64_ldstexclr => LdxrLr64Ldstexclr::encode(instr, buf),
        Code::TST_ANDS_32_log_shift => TstAnds32LogShift::encode(instr, buf),
        Code::LDCLRL_64_memop => Ldclrl64Memop::encode(instr, buf),
        Code::LDUMINAL_32_memop => Lduminal32Memop::encode(instr, buf),
        Code::STADDB_LDADDB_32_memop => StaddbLdaddb32Memop::encode(instr, buf),
        Code::LDTRH_32_ldst_unpriv => Ldtrh32LdstUnpriv::encode(instr, buf),
        Code::STR_64_ldst_pos => Str64LdstPos::encode(instr, buf),
        Code::UMAX_64U_minmax_imm => Umax64uMinmaxImm::encode(instr, buf),
        Code::UMULL_UMADDL_64WA_dp_3src => UmullUmaddl64waDp3src::encode(instr, buf),
        Code::STEORB_LDEORB_32_memop => SteorbLdeorb32Memop::encode(instr, buf),
        Code::CASAT_C64_comswap_unpriv => CasatC64ComswapUnpriv::encode(instr, buf),
        Code::RCWSCASP_C64_rcwcomswappr => RcwscaspC64Rcwcomswappr::encode(instr, buf),
        Code::UXTH_UBFM_32M_bitfield => UxthUbfm32mBitfield::encode(instr, buf),
        Code::LDSMINAB_32_memop => Ldsminab32Memop::encode(instr, buf),
        Code::CPYFPTN_CPY_memcms => CpyfptnCpyMemcms::encode(instr, buf),
        Code::STTADD_LDTADD_64_memop_unpriv => SttaddLdtadd64MemopUnpriv::encode(instr, buf),
        Code::STCLR_LDCLR_64_memop => StclrLdclr64Memop::encode(instr, buf),
        Code::LDUMINA_64_memop => Ldumina64Memop::encode(instr, buf),
        Code::CCMN_32_condcmp_reg => Ccmn32CondcmpReg::encode(instr, buf),
        Code::BICS_32_log_shift => Bics32LogShift::encode(instr, buf),
        Code::CPYPT_CPY_memcms => CpyptCpyMemcms::encode(instr, buf),
        Code::ASR_SBFM_32M_bitfield => AsrSbfm32mBitfield::encode(instr, buf),
        Code::SBFM_32M_bitfield => Sbfm32mBitfield::encode(instr, buf),
        Code::STSMAX_LDSMAX_64_memop => StsmaxLdsmax64Memop::encode(instr, buf),
        Code::CMP_SUBS_32_addsub_shift => CmpSubs32AddsubShift::encode(instr, buf),
        Code::LDTSET_32_memop_unpriv => Ldtset32MemopUnpriv::encode(instr, buf),
        Code::STILP_32S_ldiappstilp => Stilp32sLdiappstilp::encode(instr, buf),
        Code::STUMIN_LDUMIN_64_memop => StuminLdumin64Memop::encode(instr, buf),
        Code::LDRSH_32_ldst_pos => Ldrsh32LdstPos::encode(instr, buf),
        Code::CPYFPRT_CPY_memcms => CpyfprtCpyMemcms::encode(instr, buf),
        Code::LDSETAL_64_memop => Ldsetal64Memop::encode(instr, buf),
        Code::STADDL_LDADDL_32_memop => StaddlLdaddl32Memop::encode(instr, buf),
        Code::ADDPT_64_addsub_pt => Addpt64AddsubPt::encode(instr, buf),
        Code::LDSETP_128_memop_128 => Ldsetp128Memop128::encode(instr, buf),
        Code::LDTR_32_ldst_unpriv => Ldtr32LdstUnpriv::encode(instr, buf),
        Code::STUMAXL_LDUMAXL_64_memop => StumaxlLdumaxl64Memop::encode(instr, buf),
        Code::CPYMRTWN_CPY_memcms => CpymrtwnCpyMemcms::encode(instr, buf),
        Code::LDSET_32_memop => Ldset32Memop::encode(instr, buf),
        Code::SETF8_only_setf => Setf8OnlySetf::encode(instr, buf),
        Code::SMAX_32_dp_2src => Smax32Dp2src::encode(instr, buf),
        Code::CMP_SUBS_64S_addsub_ext => CmpSubs64sAddsubExt::encode(instr, buf),
        Code::STZ2G_64Soffset_ldsttags => Stz2g64soffsetLdsttags::encode(instr, buf),
        Code::CPYFE_CPY_memcms => CpyfeCpyMemcms::encode(instr, buf),
        Code::ASR_ASRV_32_dp_2src => AsrAsrv32Dp2src::encode(instr, buf),
        Code::CSETM_CSINV_64_condsel => CsetmCsinv64Condsel::encode(instr, buf),
        Code::LDUMAXL_32_memop => Ldumaxl32Memop::encode(instr, buf),
        Code::AUTIASPPC_only_dp_1src_imm => AutiasppcOnlyDp1srcImm::encode(instr, buf),
        Code::LDEORAH_32_memop => Ldeorah32Memop::encode(instr, buf),
        Code::LDRSH_64_ldst_regoff => Ldrsh64LdstRegoff::encode(instr, buf),
        Code::MADD_32A_dp_3src => Madd32aDp3src::encode(instr, buf),
        Code::LDRSB_32B_ldst_regoff => Ldrsb32bLdstRegoff::encode(instr, buf),
        Code::LDARB_LR32_ldstord => LdarbLr32Ldstord::encode(instr, buf),
        Code::MNEG_MSUB_32A_dp_3src => MnegMsub32aDp3src::encode(instr, buf),
        Code::STLTXR_SR32_ldstexclr_unpriv => StltxrSr32LdstexclrUnpriv::encode(instr, buf),
        Code::PACDA_64P_dp_1src => Pacda64pDp1src::encode(instr, buf),
        Code::SWPTAL_32_memop_unpriv => Swptal32MemopUnpriv::encode(instr, buf),
        Code::UMAX_32U_minmax_imm => Umax32uMinmaxImm::encode(instr, buf),
        Code::SMAX_32_minmax_imm => Smax32MinmaxImm::encode(instr, buf),
        Code::CBLO_64_imm => Cblo64Imm::encode(instr, buf),
        Code::LDEOR_64_memop => Ldeor64Memop::encode(instr, buf),
        Code::LDRB_32_ldst_immpost => Ldrb32LdstImmpost::encode(instr, buf),
        Code::LDR_64_ldst_pos => Ldr64LdstPos::encode(instr, buf),
        Code::STSETL_LDSETL_32_memop => StsetlLdsetl32Memop::encode(instr, buf),
        Code::SUBPT_64_addsub_pt => Subpt64AddsubPt::encode(instr, buf),
        Code::CRC32CH_32C_dp_2src => Crc32ch32cDp2src::encode(instr, buf),
        Code::CBBLO_CBBHI_8_regs => CbbloCbbhi8Regs::encode(instr, buf),
        Code::AUTIBSPPC_only_dp_1src_imm => AutibsppcOnlyDp1srcImm::encode(instr, buf),
        Code::LDRSW_64_ldst_regoff => Ldrsw64LdstRegoff::encode(instr, buf),
        Code::CMN_ADDS_64_addsub_shift => CmnAdds64AddsubShift::encode(instr, buf),
        Code::STEOR_LDEOR_64_memop => SteorLdeor64Memop::encode(instr, buf),
        Code::CPYMTWN_CPY_memcms => CpymtwnCpyMemcms::encode(instr, buf),
        Code::LDEORAL_32_memop => Ldeoral32Memop::encode(instr, buf),
        Code::BRAA_64P_branch_reg => Braa64pBranchReg::encode(instr, buf),
        Code::LDUMINL_64_memop => Lduminl64Memop::encode(instr, buf),
        Code::LDRSB_32BL_ldst_regoff => Ldrsb32blLdstRegoff::encode(instr, buf),
        Code::STUR_64_ldst_unscaled => Stur64LdstUnscaled::encode(instr, buf),
        Code::SWPB_32_memop => Swpb32Memop::encode(instr, buf),
        Code::CBZ_32_compbranch => Cbz32Compbranch::encode(instr, buf),
        Code::LDRB_32BL_ldst_regoff => Ldrb32blLdstRegoff::encode(instr, buf),
        Code::LDRSB_64_ldst_immpre => Ldrsb64LdstImmpre::encode(instr, buf),
        Code::SETGMTN_SET_memcms => SetgmtnSetMemcms::encode(instr, buf),
        Code::STRB_32_ldst_immpost => Strb32LdstImmpost::encode(instr, buf),
        Code::SETMN_SET_memcms => SetmnSetMemcms::encode(instr, buf),
        Code::CBGT_64_regs => Cbgt64Regs::encode(instr, buf),
        Code::LDAPR_64L_memop => Ldapr64lMemop::encode(instr, buf),
        Code::MVN_ORN_32_log_shift => MvnOrn32LogShift::encode(instr, buf),
        Code::ASR_ASRV_64_dp_2src => AsrAsrv64Dp2src::encode(instr, buf),
        Code::CBNE_32_imm => Cbne32Imm::encode(instr, buf),
        Code::AUTDA_64P_dp_1src => Autda64pDp1src::encode(instr, buf),
        Code::CPYFP_CPY_memcms => CpyfpCpyMemcms::encode(instr, buf),
        Code::CPYPN_CPY_memcms => CpypnCpyMemcms::encode(instr, buf),
        Code::RCWSCASL_C64_rcwcomswap => RcwscaslC64Rcwcomswap::encode(instr, buf),
        Code::CPYFMRTWN_CPY_memcms => CpyfmrtwnCpyMemcms::encode(instr, buf),
        Code::ADD_32_addsub_ext => Add32AddsubExt::encode(instr, buf),
        Code::SWPPA_128_memop_128 => Swppa128Memop128::encode(instr, buf),
        Code::CRC32CB_32C_dp_2src => Crc32cb32cDp2src::encode(instr, buf),
        Code::STTP_64_ldstpair_off => Sttp64LdstpairOff::encode(instr, buf),
        Code::AUTIASPPCR_64LRR_dp_1src => Autiasppcr64lrrDp1src::encode(instr, buf),
        Code::LDSMAXL_32_memop => Ldsmaxl32Memop::encode(instr, buf),
        Code::LDSMINALB_32_memop => Ldsminalb32Memop::encode(instr, buf),
        Code::LDAXRH_LR32_ldstexclr => LdaxrhLr32Ldstexclr::encode(instr, buf),
        Code::LDSMAXA_32_memop => Ldsmaxa32Memop::encode(instr, buf),
        Code::LDRSH_64_ldst_pos => Ldrsh64LdstPos::encode(instr, buf),
        Code::STILP_32SE_ldiappstilp => Stilp32seLdiappstilp::encode(instr, buf),
        Code::CMP_SUBS_32S_addsub_ext => CmpSubs32sAddsubExt::encode(instr, buf),
        Code::STTCLRL_LDTCLRL_32_memop_unpriv => SttclrlLdtclrl32MemopUnpriv::encode(instr, buf),
        Code::CSNEG_32_condsel => Csneg32Condsel::encode(instr, buf),
        Code::CPYFETRN_CPY_memcms => CpyfetrnCpyMemcms::encode(instr, buf),
        Code::CASPAL_CP32_comswappr => CaspalCp32Comswappr::encode(instr, buf),
        Code::LDRSH_32_ldst_immpre => Ldrsh32LdstImmpre::encode(instr, buf),
        Code::AUTIB1716_HI_hints => Autib1716HiHints::encode(instr, buf),
        Code::CASPLT_CP64_comswappr_unpriv => CaspltCp64ComswapprUnpriv::encode(instr, buf),
        Code::LDTADD_32_memop_unpriv => Ldtadd32MemopUnpriv::encode(instr, buf),
        Code::ST64BV_64_memop => St64bv64Memop::encode(instr, buf),
        Code::RCWSCASPAL_C64_rcwcomswappr => RcwscaspalC64Rcwcomswappr::encode(instr, buf),
        Code::STTCLR_LDTCLR_64_memop_unpriv => SttclrLdtclr64MemopUnpriv::encode(instr, buf),
        Code::ORR_64_log_imm => Orr64LogImm::encode(instr, buf),
        Code::CPYEWTN_CPY_memcms => CpyewtnCpyMemcms::encode(instr, buf),
        Code::PACGA_64P_dp_2src => Pacga64pDp2src::encode(instr, buf),
        Code::RCWSCLR_64_memop => Rcwsclr64Memop::encode(instr, buf),
        Code::LDSETH_32_memop => Ldseth32Memop::encode(instr, buf),
        Code::LDPSW_64_ldstpair_pre => Ldpsw64LdstpairPre::encode(instr, buf),
        Code::BL_only_branch_imm => BlOnlyBranchImm::encode(instr, buf),
        Code::CMN_ADDS_32_addsub_shift => CmnAdds32AddsubShift::encode(instr, buf),
        Code::PACIBZ_HI_hints => PacibzHiHints::encode(instr, buf),
        Code::STTSET_LDTSET_64_memop_unpriv => SttsetLdtset64MemopUnpriv::encode(instr, buf),
        Code::AUTIA171615_64LR_dp_1src => Autia17161564lrDp1src::encode(instr, buf),
        Code::BFM_64M_bitfield => Bfm64mBitfield::encode(instr, buf),
        Code::SWPTL_32_memop_unpriv => Swptl32MemopUnpriv::encode(instr, buf),
        Code::CBGT_32_imm => Cbgt32Imm::encode(instr, buf),
        Code::REV64_REV_64_dp_1src => Rev64Rev64Dp1src::encode(instr, buf),
        Code::CASL_C64_comswap => CaslC64Comswap::encode(instr, buf),
        Code::CBGT_32_regs => Cbgt32Regs::encode(instr, buf),
        Code::CMPP_SUBPS_64S_dp_2src => CmppSubps64sDp2src::encode(instr, buf),
        Code::RPRFM_R_ldst_regoff => RprfmRLdstRegoff::encode(instr, buf),
        Code::SUBS_64_addsub_shift => Subs64AddsubShift::encode(instr, buf),
        Code::XPACI_64Z_dp_1src => Xpaci64zDp1src::encode(instr, buf),
        Code::RCWSWPPAL_128_memop_128 => Rcwswppal128Memop128::encode(instr, buf),
        Code::LDURSH_64_ldst_unscaled => Ldursh64LdstUnscaled::encode(instr, buf),
        Code::STURB_32_ldst_unscaled => Sturb32LdstUnscaled::encode(instr, buf),
        Code::STADD_LDADD_32_memop => StaddLdadd32Memop::encode(instr, buf),
        Code::SWPL_64_memop => Swpl64Memop::encode(instr, buf),
        Code::LDTADDAL_64_memop_unpriv => Ldtaddal64MemopUnpriv::encode(instr, buf),
        Code::CPYEWN_CPY_memcms => CpyewnCpyMemcms::encode(instr, buf),
        Code::CCMN_32_condcmp_imm => Ccmn32CondcmpImm::encode(instr, buf),
        Code::ADD_64_addsub_shift => Add64AddsubShift::encode(instr, buf),
        Code::LDADDB_32_memop => Ldaddb32Memop::encode(instr, buf),
        Code::LDSETL_64_memop => Ldsetl64Memop::encode(instr, buf),
        Code::LDADDA_32_memop => Ldadda32Memop::encode(instr, buf),
        Code::STP_64_ldstpair_pre => Stp64LdstpairPre::encode(instr, buf),
        Code::STLLRH_SL32_ldstord => StllrhSl32Ldstord::encode(instr, buf),
        Code::SUB_32_addsub_shift => Sub32AddsubShift::encode(instr, buf),
        Code::SXTB_SBFM_64M_bitfield => SxtbSbfm64mBitfield::encode(instr, buf),
        Code::CBZ_64_compbranch => Cbz64Compbranch::encode(instr, buf),
        Code::LDR_64_ldst_immpre => Ldr64LdstImmpre::encode(instr, buf),
        Code::RCWSSWPL_64_memop => Rcwsswpl64Memop::encode(instr, buf),
        Code::SWPAL_32_memop => Swpal32Memop::encode(instr, buf),
        Code::LDTADDA_64_memop_unpriv => Ldtadda64MemopUnpriv::encode(instr, buf),
        Code::BFC_BFM_64M_bitfield => BfcBfm64mBitfield::encode(instr, buf),
        Code::BRAB_64P_branch_reg => Brab64pBranchReg::encode(instr, buf),
        Code::RBIT_32_dp_1src => Rbit32Dp1src::encode(instr, buf),
        Code::LDUMAXALH_32_memop => Ldumaxalh32Memop::encode(instr, buf),
        Code::STRB_32_ldst_pos => Strb32LdstPos::encode(instr, buf),
        Code::CPYFERTWN_CPY_memcms => CpyfertwnCpyMemcms::encode(instr, buf),
        Code::LDAPURSB_64_ldapstl_unscaled => Ldapursb64LdapstlUnscaled::encode(instr, buf),
        Code::RCWCASA_C64_rcwcomswap => RcwcasaC64Rcwcomswap::encode(instr, buf),
        Code::RETAASPPC_only_miscbranch => RetaasppcOnlyMiscbranch::encode(instr, buf),
        Code::LDCLRPL_128_memop_128 => Ldclrpl128Memop128::encode(instr, buf),
        Code::STRB_32BL_ldst_regoff => Strb32blLdstRegoff::encode(instr, buf),
        Code::UMULH_64_dp_3src => Umulh64Dp3src::encode(instr, buf),
        Code::RCWSSWPAL_64_memop => Rcwsswpal64Memop::encode(instr, buf),
        Code::STCLRLB_LDCLRLB_32_memop => StclrlbLdclrlb32Memop::encode(instr, buf),
        Code::CPYFM_CPY_memcms => CpyfmCpyMemcms::encode(instr, buf),
        Code::SETGPTN_SET_memcms => SetgptnSetMemcms::encode(instr, buf),
        Code::SBCS_32_addsub_carry => Sbcs32AddsubCarry::encode(instr, buf),
        Code::CMP_SUBS_64S_addsub_imm => CmpSubs64sAddsubImm::encode(instr, buf),
        Code::LDSETPAL_128_memop_128 => Ldsetpal128Memop128::encode(instr, buf),
        Code::REV16_32_dp_1src => Rev1632Dp1src::encode(instr, buf),
        Code::LDTADDA_32_memop_unpriv => Ldtadda32MemopUnpriv::encode(instr, buf),
        Code::CPYFPWTWN_CPY_memcms => CpyfpwtwnCpyMemcms::encode(instr, buf),
        Code::STLR_64S_ldapstl_writeback => Stlr64sLdapstlWriteback::encode(instr, buf),
        Code::STR_32_ldst_immpre => Str32LdstImmpre::encode(instr, buf),
        Code::CASPT_CP64_comswappr_unpriv => CasptCp64ComswapprUnpriv::encode(instr, buf),
        Code::STADDH_LDADDH_32_memop => StaddhLdaddh32Memop::encode(instr, buf),
        Code::CBBEQ_8_regs => Cbbeq8Regs::encode(instr, buf),
        Code::UMAX_64_dp_2src => Umax64Dp2src::encode(instr, buf),
        Code::STR_64_ldst_immpost => Str64LdstImmpost::encode(instr, buf),
        Code::LDEORB_32_memop => Ldeorb32Memop::encode(instr, buf),
        Code::STRB_32_ldst_immpre => Strb32LdstImmpre::encode(instr, buf),
        Code::CINC_CSINC_32_condsel => CincCsinc32Condsel::encode(instr, buf),
        Code::CPYERTWN_CPY_memcms => CpyertwnCpyMemcms::encode(instr, buf),
        Code::LDGM_64bulk_ldsttags => Ldgm64bulkLdsttags::encode(instr, buf),
        Code::LDUMAXA_64_memop => Ldumaxa64Memop::encode(instr, buf),
        Code::BC_only_condbranch => BcOnlyCondbranch::encode(instr, buf),
        Code::SBFX_SBFM_32M_bitfield => SbfxSbfm32mBitfield::encode(instr, buf),
        Code::SETGE_SET_memcms => SetgeSetMemcms::encode(instr, buf),
        Code::CBLO_CBHI_32_regs => CbloCbhi32Regs::encode(instr, buf),
        Code::CPYMRTRN_CPY_memcms => CpymrtrnCpyMemcms::encode(instr, buf),
        Code::RCWSETPL_128_memop_128 => Rcwsetpl128Memop128::encode(instr, buf),
        Code::SWP_64_memop => Swp64Memop::encode(instr, buf),
        Code::STP_64_ldstpair_off => Stp64LdstpairOff::encode(instr, buf),
        Code::LSRV_64_dp_2src => Lsrv64Dp2src::encode(instr, buf),
        Code::CPYMWTWN_CPY_memcms => CpymwtwnCpyMemcms::encode(instr, buf),
        Code::RCWSCASAL_C64_rcwcomswap => RcwscasalC64Rcwcomswap::encode(instr, buf),
        Code::STSMINL_LDSMINL_64_memop => StsminlLdsminl64Memop::encode(instr, buf),
        Code::CBLO_32_imm => Cblo32Imm::encode(instr, buf),
        Code::STLXP_SP32_ldstexclp => StlxpSp32Ldstexclp::encode(instr, buf),
        Code::LDIAPP_64LS_ldiappstilp => Ldiapp64lsLdiappstilp::encode(instr, buf),
        Code::STP_32_ldstpair_pre => Stp32LdstpairPre::encode(instr, buf),
        Code::PRFM_P_ldst_pos => PrfmPLdstPos::encode(instr, buf),
        Code::STTSET_LDTSET_32_memop_unpriv => SttsetLdtset32MemopUnpriv::encode(instr, buf),
        Code::ADD_64_addsub_imm => Add64AddsubImm::encode(instr, buf),
        Code::TST_ANDS_32S_log_imm => TstAnds32sLogImm::encode(instr, buf),
        Code::LDAPR_32L_memop => Ldapr32lMemop::encode(instr, buf),
        Code::MOV_MOVN_64_movewide => MovMovn64Movewide::encode(instr, buf),
        Code::SWPAH_32_memop => Swpah32Memop::encode(instr, buf),
        Code::SMAX_64_dp_2src => Smax64Dp2src::encode(instr, buf),
        Code::LDCLRAB_32_memop => Ldclrab32Memop::encode(instr, buf),
        Code::LDCLR_32_memop => Ldclr32Memop::encode(instr, buf),
        Code::CPYFPWT_CPY_memcms => CpyfpwtCpyMemcms::encode(instr, buf),
        Code::STLUR_32_ldapstl_unscaled => Stlur32LdapstlUnscaled::encode(instr, buf),
        Code::LDUMINA_32_memop => Ldumina32Memop::encode(instr, buf),
        Code::SETPN_SET_memcms => SetpnSetMemcms::encode(instr, buf),
        Code::CASB_C32_comswap => CasbC32Comswap::encode(instr, buf),
        Code::CBGE_CBGT_32_imm => CbgeCbgt32Imm::encode(instr, buf),
        Code::RCWSCASPL_C64_rcwcomswappr => RcwscasplC64Rcwcomswappr::encode(instr, buf),
        Code::MADDPT_64A_dp_3src => Maddpt64aDp3src::encode(instr, buf),
        Code::STLR_32S_ldapstl_writeback => Stlr32sLdapstlWriteback::encode(instr, buf),
        Code::RCWSETAL_64_memop => Rcwsetal64Memop::encode(instr, buf),
        Code::LD64B_64L_memop => Ld64b64lMemop::encode(instr, buf),
        Code::ADD_32_addsub_shift => Add32AddsubShift::encode(instr, buf),
        Code::RCWSSETL_64_memop => Rcwssetl64Memop::encode(instr, buf),
        Code::SETEN_SET_memcms => SetenSetMemcms::encode(instr, buf),
        Code::STUMAX_LDUMAX_32_memop => StumaxLdumax32Memop::encode(instr, buf),
        Code::CPYFMWN_CPY_memcms => CpyfmwnCpyMemcms::encode(instr, buf),
        Code::SBFX_SBFM_64M_bitfield => SbfxSbfm64mBitfield::encode(instr, buf),
        Code::LDEORALB_32_memop => Ldeoralb32Memop::encode(instr, buf),
        Code::STEORL_LDEORL_64_memop => SteorlLdeorl64Memop::encode(instr, buf),
        Code::TBNZ_only_testbranch => TbnzOnlyTestbranch::encode(instr, buf),
        Code::LSR_UBFM_64M_bitfield => LsrUbfm64mBitfield::encode(instr, buf),
        Code::ROR_EXTR_64_extract => RorExtr64Extract::encode(instr, buf),
        Code::CTZ_32_dp_1src => Ctz32Dp1src::encode(instr, buf),
        Code::LDSETPA_128_memop_128 => Ldsetpa128Memop128::encode(instr, buf),
        Code::AUTIASP_HI_hints => AutiaspHiHints::encode(instr, buf),
        Code::LDADDLB_32_memop => Ldaddlb32Memop::encode(instr, buf),
        Code::LDXP_LP32_ldstexclp => LdxpLp32Ldstexclp::encode(instr, buf),
        Code::LSLV_64_dp_2src => Lslv64Dp2src::encode(instr, buf),
        Code::PACIBSPPC_64LR_dp_1src => Pacibsppc64lrDp1src::encode(instr, buf),
        Code::SETE_SET_memcms => SeteSetMemcms::encode(instr, buf),
        Code::STLP_64_ldiappstilp => Stlp64Ldiappstilp::encode(instr, buf),
        Code::CBBLE_CBBGE_8_regs => CbbleCbbge8Regs::encode(instr, buf),
        Code::MNEG_MSUB_64A_dp_3src => MnegMsub64aDp3src::encode(instr, buf),
        Code::CASPALT_CP64_comswappr_unpriv => CaspaltCp64ComswapprUnpriv::encode(instr, buf),
        Code::LDTCLRL_64_memop_unpriv => Ldtclrl64MemopUnpriv::encode(instr, buf),
        Code::LDSMAXAL_64_memop => Ldsmaxal64Memop::encode(instr, buf),
        Code::LDUMIN_64_memop => Ldumin64Memop::encode(instr, buf),
        Code::LDSETAH_32_memop => Ldsetah32Memop::encode(instr, buf),
        Code::GCSSTR_64_ldst_gcs => Gcsstr64LdstGcs::encode(instr, buf),
        Code::SMIN_64_dp_2src => Smin64Dp2src::encode(instr, buf),
        Code::LDAPRB_32L_memop => Ldaprb32lMemop::encode(instr, buf),
        Code::LDCLRAL_64_memop => Ldclral64Memop::encode(instr, buf),
        Code::LDURB_32_ldst_unscaled => Ldurb32LdstUnscaled::encode(instr, buf),
        Code::NEGS_SUBS_64_addsub_shift => NegsSubs64AddsubShift::encode(instr, buf),
        Code::LDTXR_LR32_ldstexclr_unpriv => LdtxrLr32LdstexclrUnpriv::encode(instr, buf),
        Code::SWPPL_128_memop_128 => Swppl128Memop128::encode(instr, buf),
        Code::LDUMAXH_32_memop => Ldumaxh32Memop::encode(instr, buf),
        Code::CPYERTN_CPY_memcms => CpyertnCpyMemcms::encode(instr, buf),
        Code::CBHLT_CBHGT_16_regs => CbhltCbhgt16Regs::encode(instr, buf),
        Code::LDRB_32_ldst_pos => Ldrb32LdstPos::encode(instr, buf),
        Code::LDLARH_LR32_ldstord => LdlarhLr32Ldstord::encode(instr, buf),
        Code::SETGET_SET_memcms => SetgetSetMemcms::encode(instr, buf),
        Code::LDTCLR_32_memop_unpriv => Ldtclr32MemopUnpriv::encode(instr, buf),
        Code::CPYFMWTRN_CPY_memcms => CpyfmwtrnCpyMemcms::encode(instr, buf),
        Code::LDCLR_64_memop => Ldclr64Memop::encode(instr, buf),
        Code::UMADDL_64WA_dp_3src => Umaddl64waDp3src::encode(instr, buf),
        Code::LDPSW_64_ldstpair_post => Ldpsw64LdstpairPost::encode(instr, buf),
        Code::ORR_32_log_shift => Orr32LogShift::encode(instr, buf),
        Code::CAS_C32_comswap => CasC32Comswap::encode(instr, buf),
        Code::SXTH_SBFM_64M_bitfield => SxthSbfm64mBitfield::encode(instr, buf),
        Code::LDTSETAL_32_memop_unpriv => Ldtsetal32MemopUnpriv::encode(instr, buf),
        Code::MSUB_64A_dp_3src => Msub64aDp3src::encode(instr, buf),
        Code::SETGM_SET_memcms => SetgmSetMemcms::encode(instr, buf),
        Code::LDTP_64_ldstpair_pre => Ldtp64LdstpairPre::encode(instr, buf),
        Code::STZ2G_64Spre_ldsttags => Stz2g64spreLdsttags::encode(instr, buf),
        Code::RCWSSWPPA_128_memop_128 => Rcwsswppa128Memop128::encode(instr, buf),
        Code::STLLR_SL32_ldstord => StllrSl32Ldstord::encode(instr, buf),
        Code::CPYFPRTN_CPY_memcms => CpyfprtnCpyMemcms::encode(instr, buf),
        Code::ERETAB_64E_branch_reg => Eretab64eBranchReg::encode(instr, buf),
        Code::LSR_LSRV_64_dp_2src => LsrLsrv64Dp2src::encode(instr, buf),
        Code::LDSMINLB_32_memop => Ldsminlb32Memop::encode(instr, buf),
        Code::STTCLR_LDTCLR_32_memop_unpriv => SttclrLdtclr32MemopUnpriv::encode(instr, buf),
        Code::CPYMN_CPY_memcms => CpymnCpyMemcms::encode(instr, buf),
        Code::LDEORL_32_memop => Ldeorl32Memop::encode(instr, buf),
        Code::LDATXR_LR32_ldstexclr_unpriv => LdatxrLr32LdstexclrUnpriv::encode(instr, buf),
        Code::ROR_EXTR_32_extract => RorExtr32Extract::encode(instr, buf),
        Code::SETPT_SET_memcms => SetptSetMemcms::encode(instr, buf),
        Code::STEORLB_LDEORLB_32_memop => SteorlbLdeorlb32Memop::encode(instr, buf),
        Code::SWPALH_32_memop => Swpalh32Memop::encode(instr, buf),
        Code::LDSETLH_32_memop => Ldsetlh32Memop::encode(instr, buf),
        Code::CPYMWN_CPY_memcms => CpymwnCpyMemcms::encode(instr, buf),
        Code::STSMINLH_LDSMINLH_32_memop => StsminlhLdsminlh32Memop::encode(instr, buf),
        Code::LDAPURH_32_ldapstl_unscaled => Ldapurh32LdapstlUnscaled::encode(instr, buf),
        Code::EXTR_32_extract => Extr32Extract::encode(instr, buf),
        Code::LDURH_32_ldst_unscaled => Ldurh32LdstUnscaled::encode(instr, buf),
        Code::CASAH_C32_comswap => CasahC32Comswap::encode(instr, buf),
        Code::CSNEG_64_condsel => Csneg64Condsel::encode(instr, buf),
        Code::SBFIZ_SBFM_64M_bitfield => SbfizSbfm64mBitfield::encode(instr, buf),
        Code::STLR_SL32_ldstord => StlrSl32Ldstord::encode(instr, buf),
        Code::STTADDL_LDTADDL_32_memop_unpriv => SttaddlLdtaddl32MemopUnpriv::encode(instr, buf),
        Code::LDLAR_LR32_ldstord => LdlarLr32Ldstord::encode(instr, buf),
        Code::SBFIZ_SBFM_32M_bitfield => SbfizSbfm32mBitfield::encode(instr, buf),
        Code::STTRH_32_ldst_unpriv => Sttrh32LdstUnpriv::encode(instr, buf),
        Code::SETGMN_SET_memcms => SetgmnSetMemcms::encode(instr, buf),
        Code::MUL_MADD_32A_dp_3src => MulMadd32aDp3src::encode(instr, buf),
        Code::GMI_64G_dp_2src => Gmi64gDp2src::encode(instr, buf),
        Code::CBBHS_8_regs => Cbbhs8Regs::encode(instr, buf),
        Code::MOVK_32_movewide => Movk32Movewide::encode(instr, buf),
        Code::LDADD_32_memop => Ldadd32Memop::encode(instr, buf),
        Code::BR_64_branch_reg => Br64BranchReg::encode(instr, buf),
        Code::STGP_64_ldstpair_pre => Stgp64LdstpairPre::encode(instr, buf),
        Code::LDSMAXAL_32_memop => Ldsmaxal32Memop::encode(instr, buf),
        Code::AUTIA1716_HI_hints => Autia1716HiHints::encode(instr, buf),
        Code::LDUMINH_32_memop => Lduminh32Memop::encode(instr, buf),
        Code::UMSUBL_64WA_dp_3src => Umsubl64waDp3src::encode(instr, buf),
        Code::NEGS_SUBS_32_addsub_shift => NegsSubs32AddsubShift::encode(instr, buf),
        Code::UBFX_UBFM_32M_bitfield => UbfxUbfm32mBitfield::encode(instr, buf),
        Code::CPYMTRN_CPY_memcms => CpymtrnCpyMemcms::encode(instr, buf),
        Code::LDTRSW_64_ldst_unpriv => Ldtrsw64LdstUnpriv::encode(instr, buf),
        Code::RCWSSWPP_128_memop_128 => Rcwsswpp128Memop128::encode(instr, buf),
    }
}

pub fn encode_block(instr: &mut Instruction, buf: &mut Vec<u8>, labels: &HashMap<u64, u64>) -> Result<usize> {
    match instr.code {
        Code::Invalid => todo!(),
        Code::LDXRB_LR32_ldstexclr => LdxrbLr32Ldstexclr::encode_block(instr, buf, labels),
        Code::AUTDB_64P_dp_1src => Autdb64pDp1src::encode_block(instr, buf, labels),
        Code::NGCS_SBCS_32_addsub_carry => NgcsSbcs32AddsubCarry::encode_block(instr, buf, labels),
        Code::LDSMAXALB_32_memop => Ldsmaxalb32Memop::encode_block(instr, buf, labels),
        Code::SETPTN_SET_memcms => SetptnSetMemcms::encode_block(instr, buf, labels),
        Code::LDRSB_32_ldst_immpost => Ldrsb32LdstImmpost::encode_block(instr, buf, labels),
        Code::STXP_SP32_ldstexclp => StxpSp32Ldstexclp::encode_block(instr, buf, labels),
        Code::SWPA_64_memop => Swpa64Memop::encode_block(instr, buf, labels),
        Code::STXRH_SR32_ldstexclr => StxrhSr32Ldstexclr::encode_block(instr, buf, labels),
        Code::CBGT_64_imm => Cbgt64Imm::encode_block(instr, buf, labels),
        Code::AUTIBZ_HI_hints => AutibzHiHints::encode_block(instr, buf, labels),
        Code::STP_32_ldstpair_post => Stp32LdstpairPost::encode_block(instr, buf, labels),
        Code::SUB_64_addsub_shift => Sub64AddsubShift::encode_block(instr, buf, labels),
        Code::STR_32_ldst_pos => Str32LdstPos::encode_block(instr, buf, labels),
        Code::ORR_32_log_imm => Orr32LogImm::encode_block(instr, buf, labels),
        Code::ST2G_64Spre_ldsttags => St2g64spreLdsttags::encode_block(instr, buf, labels),
        Code::CBEQ_32_imm => Cbeq32Imm::encode_block(instr, buf, labels),
        Code::LDSMINA_32_memop => Ldsmina32Memop::encode_block(instr, buf, labels),
        Code::LDRSH_64_ldst_immpost => Ldrsh64LdstImmpost::encode_block(instr, buf, labels),
        Code::ADDG_64_addsub_immtags => Addg64AddsubImmtags::encode_block(instr, buf, labels),
        Code::LDUR_64_ldst_unscaled => Ldur64LdstUnscaled::encode_block(instr, buf, labels),
        Code::LDRSH_32_ldst_immpost => Ldrsh32LdstImmpost::encode_block(instr, buf, labels),
        Code::CASA_C32_comswap => CasaC32Comswap::encode_block(instr, buf, labels),
        Code::CPYFEN_CPY_memcms => CpyfenCpyMemcms::encode_block(instr, buf, labels),
        Code::EON_64_log_shift => Eon64LogShift::encode_block(instr, buf, labels),
        Code::LDADDALH_32_memop => Ldaddalh32Memop::encode_block(instr, buf, labels),
        Code::STXRB_SR32_ldstexclr => StxrbSr32Ldstexclr::encode_block(instr, buf, labels),
        Code::CMP_SUBS_64_addsub_shift => CmpSubs64AddsubShift::encode_block(instr, buf, labels),
        Code::LDUMAX_32_memop => Ldumax32Memop::encode_block(instr, buf, labels),
        Code::LDADDA_64_memop => Ldadda64Memop::encode_block(instr, buf, labels),
        Code::LDXP_LP64_ldstexclp => LdxpLp64Ldstexclp::encode_block(instr, buf, labels),
        Code::RCWCASAL_C64_rcwcomswap => RcwcasalC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::UBFM_64M_bitfield => Ubfm64mBitfield::encode_block(instr, buf, labels),
        Code::LDTXR_LR64_ldstexclr_unpriv => LdtxrLr64LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::BFI_BFM_32M_bitfield => BfiBfm32mBitfield::encode_block(instr, buf, labels),
        Code::EOR_64_log_imm => Eor64LogImm::encode_block(instr, buf, labels),
        Code::LDAR_LR64_ldstord => LdarLr64Ldstord::encode_block(instr, buf, labels),
        Code::LDRH_32_ldst_pos => Ldrh32LdstPos::encode_block(instr, buf, labels),
        Code::CPYFPWTN_CPY_memcms => CpyfpwtnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDEORH_32_memop => Ldeorh32Memop::encode_block(instr, buf, labels),
        Code::XPACLRI_HI_hints => XpaclriHiHints::encode_block(instr, buf, labels),
        Code::STSETB_LDSETB_32_memop => StsetbLdsetb32Memop::encode_block(instr, buf, labels),
        Code::CPYFETN_CPY_memcms => CpyfetnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDRSW_64_loadlit => Ldrsw64Loadlit::encode_block(instr, buf, labels),
        Code::LDSMAXL_64_memop => Ldsmaxl64Memop::encode_block(instr, buf, labels),
        Code::RCWSSWPPL_128_memop_128 => Rcwsswppl128Memop128::encode_block(instr, buf, labels),
        Code::CPYFMRN_CPY_memcms => CpyfmrnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDNP_32_ldstnapair_offs => Ldnp32LdstnapairOffs::encode_block(instr, buf, labels),
        Code::SUBS_32_addsub_shift => Subs32AddsubShift::encode_block(instr, buf, labels),
        Code::STLUR_64_ldapstl_unscaled => Stlur64LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::LDRSB_64BL_ldst_regoff => Ldrsb64blLdstRegoff::encode_block(instr, buf, labels),
        Code::RCWSSETP_128_memop_128 => Rcwssetp128Memop128::encode_block(instr, buf, labels),
        Code::LDSMAXB_32_memop => Ldsmaxb32Memop::encode_block(instr, buf, labels),
        Code::CBHI_64_regs => Cbhi64Regs::encode_block(instr, buf, labels),
        Code::RETAASPPCR_64M_branch_reg => Retaasppcr64mBranchReg::encode_block(instr, buf, labels),
        Code::CPYFPWTRN_CPY_memcms => CpyfpwtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::CSEL_32_condsel => Csel32Condsel::encode_block(instr, buf, labels),
        Code::LDUMAXLB_32_memop => Ldumaxlb32Memop::encode_block(instr, buf, labels),
        Code::CPYPRTN_CPY_memcms => CpyprtnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDTSETA_32_memop_unpriv => Ldtseta32MemopUnpriv::encode_block(instr, buf, labels),
        Code::RCWSETPA_128_memop_128 => Rcwsetpa128Memop128::encode_block(instr, buf, labels),
        Code::LDSETAB_32_memop => Ldsetab32Memop::encode_block(instr, buf, labels),
        Code::CPYPWTWN_CPY_memcms => CpypwtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDAPRH_32L_memop => Ldaprh32lMemop::encode_block(instr, buf, labels),
        Code::CBHLO_CBHHI_16_regs => CbhloCbhhi16Regs::encode_block(instr, buf, labels),
        Code::LDSMINAL_64_memop => Ldsminal64Memop::encode_block(instr, buf, labels),
        Code::RCWCLRL_64_memop => Rcwclrl64Memop::encode_block(instr, buf, labels),
        Code::RCWSSETAL_64_memop => Rcwssetal64Memop::encode_block(instr, buf, labels),
        Code::STUMAXB_LDUMAXB_32_memop => StumaxbLdumaxb32Memop::encode_block(instr, buf, labels),
        Code::STUMAXLH_LDUMAXLH_32_memop => StumaxlhLdumaxlh32Memop::encode_block(instr, buf, labels),
        Code::LDTP_64_ldstpair_post => Ldtp64LdstpairPost::encode_block(instr, buf, labels),
        Code::RCWSWPPA_128_memop_128 => Rcwswppa128Memop128::encode_block(instr, buf, labels),
        Code::BLRAB_64P_branch_reg => Blrab64pBranchReg::encode_block(instr, buf, labels),
        Code::CPYFMRTN_CPY_memcms => CpyfmrtnCpyMemcms::encode_block(instr, buf, labels),
        Code::SBCS_64_addsub_carry => Sbcs64AddsubCarry::encode_block(instr, buf, labels),
        Code::BFXIL_BFM_64M_bitfield => BfxilBfm64mBitfield::encode_block(instr, buf, labels),
        Code::STGM_64bulk_ldsttags => Stgm64bulkLdsttags::encode_block(instr, buf, labels),
        Code::STTADD_LDTADD_32_memop_unpriv => SttaddLdtadd32MemopUnpriv::encode_block(instr, buf, labels),
        Code::CPYM_CPY_memcms => CpymCpyMemcms::encode_block(instr, buf, labels),
        Code::STP_32_ldstpair_off => Stp32LdstpairOff::encode_block(instr, buf, labels),
        Code::LDEORALH_32_memop => Ldeoralh32Memop::encode_block(instr, buf, labels),
        Code::LDIAPP_32LE_ldiappstilp => Ldiapp32leLdiappstilp::encode_block(instr, buf, labels),
        Code::SWPL_32_memop => Swpl32Memop::encode_block(instr, buf, labels),
        Code::LDR_32_ldst_regoff => Ldr32LdstRegoff::encode_block(instr, buf, labels),
        Code::ADD_32_addsub_imm => Add32AddsubImm::encode_block(instr, buf, labels),
        Code::STUMAXL_LDUMAXL_32_memop => StumaxlLdumaxl32Memop::encode_block(instr, buf, labels),
        Code::SWPALB_32_memop => Swpalb32Memop::encode_block(instr, buf, labels),
        Code::SETF16_only_setf => Setf16OnlySetf::encode_block(instr, buf, labels),
        Code::SETGPT_SET_memcms => SetgptSetMemcms::encode_block(instr, buf, labels),
        Code::LDSMAXLH_32_memop => Ldsmaxlh32Memop::encode_block(instr, buf, labels),
        Code::EXTR_64_extract => Extr64Extract::encode_block(instr, buf, labels),
        Code::LDSETB_32_memop => Ldsetb32Memop::encode_block(instr, buf, labels),
        Code::STEORH_LDEORH_32_memop => SteorhLdeorh32Memop::encode_block(instr, buf, labels),
        Code::SUB_32_addsub_ext => Sub32AddsubExt::encode_block(instr, buf, labels),
        Code::MOV_ADD_64_addsub_imm => MovAdd64AddsubImm::encode_block(instr, buf, labels),
        Code::LDCLRAH_32_memop => Ldclrah32Memop::encode_block(instr, buf, labels),
        Code::CASALB_C32_comswap => CasalbC32Comswap::encode_block(instr, buf, labels),
        Code::LDUMAXAH_32_memop => Ldumaxah32Memop::encode_block(instr, buf, labels),
        Code::CASP_CP64_comswappr => CaspCp64Comswappr::encode_block(instr, buf, labels),
        Code::CASAL_C64_comswap => CasalC64Comswap::encode_block(instr, buf, labels),
        Code::LDADDAL_32_memop => Ldaddal32Memop::encode_block(instr, buf, labels),
        Code::LDTSETL_64_memop_unpriv => Ldtsetl64MemopUnpriv::encode_block(instr, buf, labels),
        Code::STLRB_SL32_ldstord => StlrbSl32Ldstord::encode_block(instr, buf, labels),
        Code::LDADD_64_memop => Ldadd64Memop::encode_block(instr, buf, labels),
        Code::CBBLT_CBBGT_8_regs => CbbltCbbgt8Regs::encode_block(instr, buf, labels),
        Code::CBHEQ_16_regs => Cbheq16Regs::encode_block(instr, buf, labels),
        Code::ROR_RORV_64_dp_2src => RorRorv64Dp2src::encode_block(instr, buf, labels),
        Code::STUMAX_LDUMAX_64_memop => StumaxLdumax64Memop::encode_block(instr, buf, labels),
        Code::LDSMIN_64_memop => Ldsmin64Memop::encode_block(instr, buf, labels),
        Code::RCWCAS_C64_rcwcomswap => RcwcasC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::CBBLS_CBBHS_8_regs => CbblsCbbhs8Regs::encode_block(instr, buf, labels),
        Code::AUTIZB_64Z_dp_1src => Autizb64zDp1src::encode_block(instr, buf, labels),
        Code::LDLAR_LR64_ldstord => LdlarLr64Ldstord::encode_block(instr, buf, labels),
        Code::PACDZA_64Z_dp_1src => Pacdza64zDp1src::encode_block(instr, buf, labels),
        Code::LDSETAL_32_memop => Ldsetal32Memop::encode_block(instr, buf, labels),
        Code::CASALH_C32_comswap => CasalhC32Comswap::encode_block(instr, buf, labels),
        Code::CSEL_64_condsel => Csel64Condsel::encode_block(instr, buf, labels),
        Code::CPYMRTN_CPY_memcms => CpymrtnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDLARB_LR32_ldstord => LdlarbLr32Ldstord::encode_block(instr, buf, labels),
        Code::CBEQ_32_regs => Cbeq32Regs::encode_block(instr, buf, labels),
        Code::CASPA_CP32_comswappr => CaspaCp32Comswappr::encode_block(instr, buf, labels),
        Code::LDSMAXALH_32_memop => Ldsmaxalh32Memop::encode_block(instr, buf, labels),
        Code::SETGETN_SET_memcms => SetgetnSetMemcms::encode_block(instr, buf, labels),
        Code::XPACD_64Z_dp_1src => Xpacd64zDp1src::encode_block(instr, buf, labels),
        Code::LDADDLH_32_memop => Ldaddlh32Memop::encode_block(instr, buf, labels),
        Code::CPYFPRN_CPY_memcms => CpyfprnCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYPTRN_CPY_memcms => CpyptrnCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYFMTN_CPY_memcms => CpyfmtnCpyMemcms::encode_block(instr, buf, labels),
        Code::PACIA1716_HI_hints => Pacia1716HiHints::encode_block(instr, buf, labels),
        Code::STG_64Soffset_ldsttags => Stg64soffsetLdsttags::encode_block(instr, buf, labels),
        Code::STLXRB_SR32_ldstexclr => StlxrbSr32Ldstexclr::encode_block(instr, buf, labels),
        Code::RCWSSETPA_128_memop_128 => Rcwssetpa128Memop128::encode_block(instr, buf, labels),
        Code::AND_32_log_imm => And32LogImm::encode_block(instr, buf, labels),
        Code::LDADDL_64_memop => Ldaddl64Memop::encode_block(instr, buf, labels),
        Code::ST2G_64Soffset_ldsttags => St2g64soffsetLdsttags::encode_block(instr, buf, labels),
        Code::STLXR_SR32_ldstexclr => StlxrSr32Ldstexclr::encode_block(instr, buf, labels),
        Code::CPYEWT_CPY_memcms => CpyewtCpyMemcms::encode_block(instr, buf, labels),
        Code::ADC_32_addsub_carry => Adc32AddsubCarry::encode_block(instr, buf, labels),
        Code::AND_64_log_shift => And64LogShift::encode_block(instr, buf, labels),
        Code::SDIV_32_dp_2src => Sdiv32Dp2src::encode_block(instr, buf, labels),
        Code::CPYFPTRN_CPY_memcms => CpyfptrnCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSWPA_64_memop => Rcwswpa64Memop::encode_block(instr, buf, labels),
        Code::CSINV_32_condsel => Csinv32Condsel::encode_block(instr, buf, labels),
        Code::STSMINB_LDSMINB_32_memop => StsminbLdsminb32Memop::encode_block(instr, buf, labels),
        Code::STTCLRL_LDTCLRL_64_memop_unpriv => SttclrlLdtclrl64MemopUnpriv::encode_block(instr, buf, labels),
        Code::STTXR_SR64_ldstexclr_unpriv => SttxrSr64LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::STURH_32_ldst_unscaled => Sturh32LdstUnscaled::encode_block(instr, buf, labels),
        Code::STSET_LDSET_64_memop => StsetLdset64Memop::encode_block(instr, buf, labels),
        Code::STSMINLB_LDSMINLB_32_memop => StsminlbLdsminlb32Memop::encode_block(instr, buf, labels),
        Code::SWPTAL_64_memop_unpriv => Swptal64MemopUnpriv::encode_block(instr, buf, labels),
        Code::SMIN_32_dp_2src => Smin32Dp2src::encode_block(instr, buf, labels),
        Code::ADR_only_pcreladdr => AdrOnlyPcreladdr::encode_block(instr, buf, labels),
        Code::CLZ_64_dp_1src => Clz64Dp1src::encode_block(instr, buf, labels),
        Code::CBLT_CBGT_32_regs => CbltCbgt32Regs::encode_block(instr, buf, labels),
        Code::LDCLRB_32_memop => Ldclrb32Memop::encode_block(instr, buf, labels),
        Code::LDTCLRAL_32_memop_unpriv => Ldtclral32MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDXR_LR32_ldstexclr => LdxrLr32Ldstexclr::encode_block(instr, buf, labels),
        Code::LDUR_32_ldst_unscaled => Ldur32LdstUnscaled::encode_block(instr, buf, labels),
        Code::CPYFPTWN_CPY_memcms => CpyfptwnCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWCASL_C64_rcwcomswap => RcwcaslC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::STCLRL_LDCLRL_64_memop => StclrlLdclrl64Memop::encode_block(instr, buf, labels),
        Code::UBFM_32M_bitfield => Ubfm32mBitfield::encode_block(instr, buf, labels),
        Code::CNEG_CSNEG_64_condsel => CnegCsneg64Condsel::encode_block(instr, buf, labels),
        Code::CPYFEWTWN_CPY_memcms => CpyfewtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYPRT_CPY_memcms => CpyprtCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSSWPA_64_memop => Rcwsswpa64Memop::encode_block(instr, buf, labels),
        Code::BFM_32M_bitfield => Bfm32mBitfield::encode_block(instr, buf, labels),
        Code::LDCLRALB_32_memop => Ldclralb32Memop::encode_block(instr, buf, labels),
        Code::STLLR_SL64_ldstord => StllrSl64Ldstord::encode_block(instr, buf, labels),
        Code::STGP_64_ldstpair_post => Stgp64LdstpairPost::encode_block(instr, buf, labels),
        Code::STTSETL_LDTSETL_32_memop_unpriv => SttsetlLdtsetl32MemopUnpriv::encode_block(instr, buf, labels),
        Code::CPYPWTRN_CPY_memcms => CpypwtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSWPL_64_memop => Rcwswpl64Memop::encode_block(instr, buf, labels),
        Code::CBLT_64_imm => Cblt64Imm::encode_block(instr, buf, labels),
        Code::LDAPURSW_64_ldapstl_unscaled => Ldapursw64LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::CBGE_CBGT_64_imm => CbgeCbgt64Imm::encode_block(instr, buf, labels),
        Code::LSLV_32_dp_2src => Lslv32Dp2src::encode_block(instr, buf, labels),
        Code::LDCLRLB_32_memop => Ldclrlb32Memop::encode_block(instr, buf, labels),
        Code::CASP_CP32_comswappr => CaspCp32Comswappr::encode_block(instr, buf, labels),
        Code::LDSMINL_32_memop => Ldsminl32Memop::encode_block(instr, buf, labels),
        Code::LDSET_64_memop => Ldset64Memop::encode_block(instr, buf, labels),
        Code::LDR_64_loadlit => Ldr64Loadlit::encode_block(instr, buf, labels),
        Code::LDP_64_ldstpair_pre => Ldp64LdstpairPre::encode_block(instr, buf, labels),
        Code::LDR_32_loadlit => Ldr32Loadlit::encode_block(instr, buf, labels),
        Code::STSETH_LDSETH_32_memop => StsethLdseth32Memop::encode_block(instr, buf, labels),
        Code::LDUMAXALB_32_memop => Ldumaxalb32Memop::encode_block(instr, buf, labels),
        Code::LDR_32_ldst_pos => Ldr32LdstPos::encode_block(instr, buf, labels),
        Code::LDRSW_64_ldst_immpre => Ldrsw64LdstImmpre::encode_block(instr, buf, labels),
        Code::CRC32CX_64C_dp_2src => Crc32cx64cDp2src::encode_block(instr, buf, labels),
        Code::ADCS_64_addsub_carry => Adcs64AddsubCarry::encode_block(instr, buf, labels),
        Code::STLLRB_SL32_ldstord => StllrbSl32Ldstord::encode_block(instr, buf, labels),
        Code::RCWSETP_128_memop_128 => Rcwsetp128Memop128::encode_block(instr, buf, labels),
        Code::STTP_64_ldstpair_post => Sttp64LdstpairPost::encode_block(instr, buf, labels),
        Code::CBNE_64_regs => Cbne64Regs::encode_block(instr, buf, labels),
        Code::MOVN_32_movewide => Movn32Movewide::encode_block(instr, buf, labels),
        Code::CPYFMWTWN_CPY_memcms => CpyfmwtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDSMINLH_32_memop => Ldsminlh32Memop::encode_block(instr, buf, labels),
        Code::SXTH_SBFM_32M_bitfield => SxthSbfm32mBitfield::encode_block(instr, buf, labels),
        Code::CPYMT_CPY_memcms => CpymtCpyMemcms::encode_block(instr, buf, labels),
        Code::CAS_C64_comswap => CasC64Comswap::encode_block(instr, buf, labels),
        Code::PACIAZ_HI_hints => PaciazHiHints::encode_block(instr, buf, labels),
        Code::SBC_32_addsub_carry => Sbc32AddsubCarry::encode_block(instr, buf, labels),
        Code::CBHS_32_regs => Cbhs32Regs::encode_block(instr, buf, labels),
        Code::STADDL_LDADDL_64_memop => StaddlLdaddl64Memop::encode_block(instr, buf, labels),
        Code::STUMAXH_LDUMAXH_32_memop => StumaxhLdumaxh32Memop::encode_block(instr, buf, labels),
        Code::TBZ_only_testbranch => TbzOnlyTestbranch::encode_block(instr, buf, labels),
        Code::STP_64_ldstpair_post => Stp64LdstpairPost::encode_block(instr, buf, labels),
        Code::PACNBIBSPPC_64LR_dp_1src => Pacnbibsppc64lrDp1src::encode_block(instr, buf, labels),
        Code::CBBHI_8_regs => Cbbhi8Regs::encode_block(instr, buf, labels),
        Code::NGC_SBC_32_addsub_carry => NgcSbc32AddsubCarry::encode_block(instr, buf, labels),
        Code::RCWCLRA_64_memop => Rcwclra64Memop::encode_block(instr, buf, labels),
        Code::UBFIZ_UBFM_32M_bitfield => UbfizUbfm32mBitfield::encode_block(instr, buf, labels),
        Code::RCWCLRP_128_memop_128 => Rcwclrp128Memop128::encode_block(instr, buf, labels),
        Code::AUTDZB_64Z_dp_1src => Autdzb64zDp1src::encode_block(instr, buf, labels),
        Code::CPYPWN_CPY_memcms => CpypwnCpyMemcms::encode_block(instr, buf, labels),
        Code::CCMP_64_condcmp_reg => Ccmp64CondcmpReg::encode_block(instr, buf, labels),
        Code::CBGE_64_regs => Cbge64Regs::encode_block(instr, buf, labels),
        Code::CINV_CSINV_64_condsel => CinvCsinv64Condsel::encode_block(instr, buf, labels),
        Code::RCWCLRPAL_128_memop_128 => Rcwclrpal128Memop128::encode_block(instr, buf, labels),
        Code::STCLRL_LDCLRL_32_memop => StclrlLdclrl32Memop::encode_block(instr, buf, labels),
        Code::CPYFMWT_CPY_memcms => CpyfmwtCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYMRN_CPY_memcms => CpymrnCpyMemcms::encode_block(instr, buf, labels),
        Code::BICS_64_log_shift => Bics64LogShift::encode_block(instr, buf, labels),
        Code::PACIASP_HI_hints => PaciaspHiHints::encode_block(instr, buf, labels),
        Code::UBFX_UBFM_64M_bitfield => UbfxUbfm64mBitfield::encode_block(instr, buf, labels),
        Code::STSMAXH_LDSMAXH_32_memop => StsmaxhLdsmaxh32Memop::encode_block(instr, buf, labels),
        Code::CPYFMT_CPY_memcms => CpyfmtCpyMemcms::encode_block(instr, buf, labels),
        Code::LDTCLRAL_64_memop_unpriv => Ldtclral64MemopUnpriv::encode_block(instr, buf, labels),
        Code::CCMP_64_condcmp_imm => Ccmp64CondcmpImm::encode_block(instr, buf, labels),
        Code::NGCS_SBCS_64_addsub_carry => NgcsSbcs64AddsubCarry::encode_block(instr, buf, labels),
        Code::LSL_UBFM_64M_bitfield => LslUbfm64mBitfield::encode_block(instr, buf, labels),
        Code::CPYET_CPY_memcms => CpyetCpyMemcms::encode_block(instr, buf, labels),
        Code::LDSETLB_32_memop => Ldsetlb32Memop::encode_block(instr, buf, labels),
        Code::STSMIN_LDSMIN_32_memop => StsminLdsmin32Memop::encode_block(instr, buf, labels),
        Code::LDTADDL_64_memop_unpriv => Ldtaddl64MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDURSW_64_ldst_unscaled => Ldursw64LdstUnscaled::encode_block(instr, buf, labels),
        Code::LDAPR_32L_ldapstl_writeback => Ldapr32lLdapstlWriteback::encode_block(instr, buf, labels),
        Code::LDTSET_64_memop_unpriv => Ldtset64MemopUnpriv::encode_block(instr, buf, labels),
        Code::SMADDL_64WA_dp_3src => Smaddl64waDp3src::encode_block(instr, buf, labels),
        Code::STLTXR_SR64_ldstexclr_unpriv => StltxrSr64LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::STRH_32_ldst_regoff => Strh32LdstRegoff::encode_block(instr, buf, labels),
        Code::MSUBPT_64A_dp_3src => Msubpt64aDp3src::encode_block(instr, buf, labels),
        Code::REV_32_dp_1src => Rev32Dp1src::encode_block(instr, buf, labels),
        Code::LDTRSB_64_ldst_unpriv => Ldtrsb64LdstUnpriv::encode_block(instr, buf, labels),
        Code::SWPPAL_128_memop_128 => Swppal128Memop128::encode_block(instr, buf, labels),
        Code::LDUMAX_64_memop => Ldumax64Memop::encode_block(instr, buf, labels),
        Code::CPYP_CPY_memcms => CpypCpyMemcms::encode_block(instr, buf, labels),
        Code::STUMINLB_LDUMINLB_32_memop => StuminlbLduminlb32Memop::encode_block(instr, buf, labels),
        Code::CPYETWN_CPY_memcms => CpyetwnCpyMemcms::encode_block(instr, buf, labels),
        Code::CSETM_CSINV_32_condsel => CsetmCsinv32Condsel::encode_block(instr, buf, labels),
        Code::LDRB_32_ldst_immpre => Ldrb32LdstImmpre::encode_block(instr, buf, labels),
        Code::STUMINL_LDUMINL_64_memop => StuminlLduminl64Memop::encode_block(instr, buf, labels),
        Code::RCWCLR_64_memop => Rcwclr64Memop::encode_block(instr, buf, labels),
        Code::CPYPWTN_CPY_memcms => CpypwtnCpyMemcms::encode_block(instr, buf, labels),
        Code::EOR_64_log_shift => Eor64LogShift::encode_block(instr, buf, labels),
        Code::PACIB171615_64LR_dp_1src => Pacib17161564lrDp1src::encode_block(instr, buf, labels),
        Code::SETMTN_SET_memcms => SetmtnSetMemcms::encode_block(instr, buf, labels),
        Code::LDTRB_32_ldst_unpriv => Ldtrb32LdstUnpriv::encode_block(instr, buf, labels),
        Code::SETM_SET_memcms => SetmSetMemcms::encode_block(instr, buf, labels),
        Code::CPYFPRTRN_CPY_memcms => CpyfprtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::STLXRH_SR32_ldstexclr => StlxrhSr32Ldstexclr::encode_block(instr, buf, labels),
        Code::SUBPS_64S_dp_2src => Subps64sDp2src::encode_block(instr, buf, labels),
        Code::LSRV_32_dp_2src => Lsrv32Dp2src::encode_block(instr, buf, labels),
        Code::STUMIN_LDUMIN_32_memop => StuminLdumin32Memop::encode_block(instr, buf, labels),
        Code::LDAXP_LP32_ldstexclp => LdaxpLp32Ldstexclp::encode_block(instr, buf, labels),
        Code::MOV_MOVZ_64_movewide => MovMovz64Movewide::encode_block(instr, buf, labels),
        Code::LDP_32_ldstpair_off => Ldp32LdstpairOff::encode_block(instr, buf, labels),
        Code::LDTRSH_32_ldst_unpriv => Ldtrsh32LdstUnpriv::encode_block(instr, buf, labels),
        Code::STZG_64Soffset_ldsttags => Stzg64soffsetLdsttags::encode_block(instr, buf, labels),
        Code::STTR_64_ldst_unpriv => Sttr64LdstUnpriv::encode_block(instr, buf, labels),
        Code::AUTIA_64P_dp_1src => Autia64pDp1src::encode_block(instr, buf, labels),
        Code::ASRV_64_dp_2src => Asrv64Dp2src::encode_block(instr, buf, labels),
        Code::RETABSPPCR_64M_branch_reg => Retabsppcr64mBranchReg::encode_block(instr, buf, labels),
        Code::CBLE_CBGE_64_regs => CbleCbge64Regs::encode_block(instr, buf, labels),
        Code::SUBS_64S_addsub_imm => Subs64sAddsubImm::encode_block(instr, buf, labels),
        Code::ADDS_64S_addsub_imm => Adds64sAddsubImm::encode_block(instr, buf, labels),
        Code::CBBGT_8_regs => Cbbgt8Regs::encode_block(instr, buf, labels),
        Code::CBEQ_64_regs => Cbeq64Regs::encode_block(instr, buf, labels),
        Code::PACIZA_64Z_dp_1src => Paciza64zDp1src::encode_block(instr, buf, labels),
        Code::LDTCLR_64_memop_unpriv => Ldtclr64MemopUnpriv::encode_block(instr, buf, labels),
        Code::CSINV_64_condsel => Csinv64Condsel::encode_block(instr, buf, labels),
        Code::BFI_BFM_64M_bitfield => BfiBfm64mBitfield::encode_block(instr, buf, labels),
        Code::BLR_64_branch_reg => Blr64BranchReg::encode_block(instr, buf, labels),
        Code::CBHI_64_imm => Cbhi64Imm::encode_block(instr, buf, labels),
        Code::CPYERT_CPY_memcms => CpyertCpyMemcms::encode_block(instr, buf, labels),
        Code::LDUMAXAL_64_memop => Ldumaxal64Memop::encode_block(instr, buf, labels),
        Code::MOVZ_32_movewide => Movz32Movewide::encode_block(instr, buf, labels),
        Code::RCWCLRAL_64_memop => Rcwclral64Memop::encode_block(instr, buf, labels),
        Code::MOVK_64_movewide => Movk64Movewide::encode_block(instr, buf, labels),
        Code::SWPAL_64_memop => Swpal64Memop::encode_block(instr, buf, labels),
        Code::AUTIAZ_HI_hints => AutiazHiHints::encode_block(instr, buf, labels),
        Code::LDEORLB_32_memop => Ldeorlb32Memop::encode_block(instr, buf, labels),
        Code::RCWSCLRPAL_128_memop_128 => Rcwsclrpal128Memop128::encode_block(instr, buf, labels),
        Code::CLZ_32_dp_1src => Clz32Dp1src::encode_block(instr, buf, labels),
        Code::LDADDAL_64_memop => Ldaddal64Memop::encode_block(instr, buf, labels),
        Code::ADRP_only_pcreladdr => AdrpOnlyPcreladdr::encode_block(instr, buf, labels),
        Code::CBBGE_8_regs => Cbbge8Regs::encode_block(instr, buf, labels),
        Code::RCWSCLRL_64_memop => Rcwsclrl64Memop::encode_block(instr, buf, labels),
        Code::STLURH_32_ldapstl_unscaled => Stlurh32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::LDTNP_64_ldstnapair_offs => Ldtnp64LdstnapairOffs::encode_block(instr, buf, labels),
        Code::BFXIL_BFM_32M_bitfield => BfxilBfm32mBitfield::encode_block(instr, buf, labels),
        Code::CBHS_CBHI_64_imm => CbhsCbhi64Imm::encode_block(instr, buf, labels),
        Code::CSINC_32_condsel => Csinc32Condsel::encode_block(instr, buf, labels),
        Code::STR_64_ldst_regoff => Str64LdstRegoff::encode_block(instr, buf, labels),
        Code::LDAPURSB_32_ldapstl_unscaled => Ldapursb32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::LDP_64_ldstpair_post => Ldp64LdstpairPost::encode_block(instr, buf, labels),
        Code::LDRSW_64_ldst_immpost => Ldrsw64LdstImmpost::encode_block(instr, buf, labels),
        Code::SUBG_64_addsub_immtags => Subg64AddsubImmtags::encode_block(instr, buf, labels),
        Code::CPYPRTRN_CPY_memcms => CpyprtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::CBHS_CBHI_32_imm => CbhsCbhi32Imm::encode_block(instr, buf, labels),
        Code::B_only_condbranch => BOnlyCondbranch::encode_block(instr, buf, labels),
        Code::NGC_SBC_64_addsub_carry => NgcSbc64AddsubCarry::encode_block(instr, buf, labels),
        Code::STADD_LDADD_64_memop => StaddLdadd64Memop::encode_block(instr, buf, labels),
        Code::STCLRLH_LDCLRLH_32_memop => StclrlhLdclrlh32Memop::encode_block(instr, buf, labels),
        Code::CASA_C64_comswap => CasaC64Comswap::encode_block(instr, buf, labels),
        Code::CPYETRN_CPY_memcms => CpyetrnCpyMemcms::encode_block(instr, buf, labels),
        Code::CLS_32_dp_1src => Cls32Dp1src::encode_block(instr, buf, labels),
        Code::LDSETALB_32_memop => Ldsetalb32Memop::encode_block(instr, buf, labels),
        Code::RCWSSETPAL_128_memop_128 => Rcwssetpal128Memop128::encode_block(instr, buf, labels),
        Code::CPYPRN_CPY_memcms => CpyprnCpyMemcms::encode_block(instr, buf, labels),
        Code::SWPA_32_memop => Swpa32Memop::encode_block(instr, buf, labels),
        Code::ADCS_32_addsub_carry => Adcs32AddsubCarry::encode_block(instr, buf, labels),
        Code::CPYFMTRN_CPY_memcms => CpyfmtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::SMULL_SMADDL_64WA_dp_3src => SmullSmaddl64waDp3src::encode_block(instr, buf, labels),
        Code::CPYFERTRN_CPY_memcms => CpyfertrnCpyMemcms::encode_block(instr, buf, labels),
        Code::STILP_64S_ldiappstilp => Stilp64sLdiappstilp::encode_block(instr, buf, labels),
        Code::LSL_UBFM_32M_bitfield => LslUbfm32mBitfield::encode_block(instr, buf, labels),
        Code::CPYPRTWN_CPY_memcms => CpyprtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::ORR_64_log_shift => Orr64LogShift::encode_block(instr, buf, labels),
        Code::LDSMINAH_32_memop => Ldsminah32Memop::encode_block(instr, buf, labels),
        Code::SUBS_32S_addsub_imm => Subs32sAddsubImm::encode_block(instr, buf, labels),
        Code::RORV_64_dp_2src => Rorv64Dp2src::encode_block(instr, buf, labels),
        Code::CPYFETWN_CPY_memcms => CpyfetwnCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSCASA_C64_rcwcomswap => RcwscasaC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::LDUMAXLH_32_memop => Ldumaxlh32Memop::encode_block(instr, buf, labels),
        Code::CASL_C32_comswap => CaslC32Comswap::encode_block(instr, buf, labels),
        Code::LDCLRPAL_128_memop_128 => Ldclrpal128Memop128::encode_block(instr, buf, labels),
        Code::LDSMAXAB_32_memop => Ldsmaxab32Memop::encode_block(instr, buf, labels),
        Code::CPYMWTN_CPY_memcms => CpymwtnCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYFPRTWN_CPY_memcms => CpyfprtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::ROR_RORV_32_dp_2src => RorRorv32Dp2src::encode_block(instr, buf, labels),
        Code::RCWSCASPA_C64_rcwcomswappr => RcwscaspaC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::RCWSETA_64_memop => Rcwseta64Memop::encode_block(instr, buf, labels),
        Code::STLURB_32_ldapstl_unscaled => Stlurb32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::LDR_32_ldst_immpre => Ldr32LdstImmpre::encode_block(instr, buf, labels),
        Code::UMNEGL_UMSUBL_64WA_dp_3src => UmneglUmsubl64waDp3src::encode_block(instr, buf, labels),
        Code::MOV_MOVN_32_movewide => MovMovn32Movewide::encode_block(instr, buf, labels),
        Code::PRFM_P_loadlit => PrfmPLoadlit::encode_block(instr, buf, labels),
        Code::LDADDAH_32_memop => Ldaddah32Memop::encode_block(instr, buf, labels),
        Code::LDSMINL_64_memop => Ldsminl64Memop::encode_block(instr, buf, labels),
        Code::SUBP_64S_dp_2src => Subp64sDp2src::encode_block(instr, buf, labels),
        Code::CPYEWTWN_CPY_memcms => CpyewtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::STSET_LDSET_32_memop => StsetLdset32Memop::encode_block(instr, buf, labels),
        Code::STSMAXLB_LDSMAXLB_32_memop => StsmaxlbLdsmaxlb32Memop::encode_block(instr, buf, labels),
        Code::STZ2G_64Spost_ldsttags => Stz2g64spostLdsttags::encode_block(instr, buf, labels),
        Code::UDF_only_perm_undef => UdfOnlyPermUndef::encode_block(instr, buf, labels),
        Code::RCWSETPAL_128_memop_128 => Rcwsetpal128Memop128::encode_block(instr, buf, labels),
        Code::LDP_32_ldstpair_pre => Ldp32LdstpairPre::encode_block(instr, buf, labels),
        Code::LDTADDAL_32_memop_unpriv => Ldtaddal32MemopUnpriv::encode_block(instr, buf, labels),
        Code::SMAX_64_minmax_imm => Smax64MinmaxImm::encode_block(instr, buf, labels),
        Code::STTXR_SR32_ldstexclr_unpriv => SttxrSr32LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::ORN_64_log_shift => Orn64LogShift::encode_block(instr, buf, labels),
        Code::CPYE_CPY_memcms => CpyeCpyMemcms::encode_block(instr, buf, labels),
        Code::CBHLS_CBHHS_16_regs => CbhlsCbhhs16Regs::encode_block(instr, buf, labels),
        Code::CBHGE_16_regs => Cbhge16Regs::encode_block(instr, buf, labels),
        Code::CPYERN_CPY_memcms => CpyernCpyMemcms::encode_block(instr, buf, labels),
        Code::LDUMINLB_32_memop => Lduminlb32Memop::encode_block(instr, buf, labels),
        Code::RCWSWPAL_64_memop => Rcwswpal64Memop::encode_block(instr, buf, labels),
        Code::UDIV_64_dp_2src => Udiv64Dp2src::encode_block(instr, buf, labels),
        Code::CCMP_32_condcmp_reg => Ccmp32CondcmpReg::encode_block(instr, buf, labels),
        Code::LDEORL_64_memop => Ldeorl64Memop::encode_block(instr, buf, labels),
        Code::LDAPURSH_32_ldapstl_unscaled => Ldapursh32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::CBLO_CBHI_64_regs => CbloCbhi64Regs::encode_block(instr, buf, labels),
        Code::CPYFERTN_CPY_memcms => CpyfertnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDCLRALH_32_memop => Ldclralh32Memop::encode_block(instr, buf, labels),
        Code::ST64B_64L_memop => St64b64lMemop::encode_block(instr, buf, labels),
        Code::LDRSB_64_ldst_pos => Ldrsb64LdstPos::encode_block(instr, buf, labels),
        Code::SWPT_32_memop_unpriv => Swpt32MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDADDL_32_memop => Ldaddl32Memop::encode_block(instr, buf, labels),
        Code::CASLT_C64_comswap_unpriv => CasltC64ComswapUnpriv::encode_block(instr, buf, labels),
        Code::CBBNE_8_regs => Cbbne8Regs::encode_block(instr, buf, labels),
        Code::BIC_32_log_shift => Bic32LogShift::encode_block(instr, buf, labels),
        Code::CBLS_CBHS_64_regs => CblsCbhs64Regs::encode_block(instr, buf, labels),
        Code::ANDS_64_log_shift => Ands64LogShift::encode_block(instr, buf, labels),
        Code::LDSETPL_128_memop_128 => Ldsetpl128Memop128::encode_block(instr, buf, labels),
        Code::MOV_ORR_64_log_shift => MovOrr64LogShift::encode_block(instr, buf, labels),
        Code::SETGMT_SET_memcms => SetgmtSetMemcms::encode_block(instr, buf, labels),
        Code::STLR_SL64_ldstord => StlrSl64Ldstord::encode_block(instr, buf, labels),
        Code::SUB_32_addsub_imm => Sub32AddsubImm::encode_block(instr, buf, labels),
        Code::CASPL_CP32_comswappr => CasplCp32Comswappr::encode_block(instr, buf, labels),
        Code::STTRB_32_ldst_unpriv => Sttrb32LdstUnpriv::encode_block(instr, buf, labels),
        Code::MSUB_32A_dp_3src => Msub32aDp3src::encode_block(instr, buf, labels),
        Code::STSMINL_LDSMINL_32_memop => StsminlLdsminl32Memop::encode_block(instr, buf, labels),
        Code::STSETLB_LDSETLB_32_memop => StsetlbLdsetlb32Memop::encode_block(instr, buf, labels),
        Code::LDSETA_32_memop => Ldseta32Memop::encode_block(instr, buf, labels),
        Code::CASPA_CP64_comswappr => CaspaCp64Comswappr::encode_block(instr, buf, labels),
        Code::LDSMAX_32_memop => Ldsmax32Memop::encode_block(instr, buf, labels),
        Code::LDSMIN_32_memop => Ldsmin32Memop::encode_block(instr, buf, labels),
        Code::LDAPUR_32_ldapstl_unscaled => Ldapur32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::CAST_C64_comswap_unpriv => CastC64ComswapUnpriv::encode_block(instr, buf, labels),
        Code::RCWCASPAL_C64_rcwcomswappr => RcwcaspalC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::LDP_64_ldstpair_off => Ldp64LdstpairOff::encode_block(instr, buf, labels),
        Code::SWPTA_32_memop_unpriv => Swpta32MemopUnpriv::encode_block(instr, buf, labels),
        Code::STSMAXL_LDSMAXL_64_memop => StsmaxlLdsmaxl64Memop::encode_block(instr, buf, labels),
        Code::CMP_SUBS_32S_addsub_imm => CmpSubs32sAddsubImm::encode_block(instr, buf, labels),
        Code::STSMIN_LDSMIN_64_memop => StsminLdsmin64Memop::encode_block(instr, buf, labels),
        Code::LDSMAXH_32_memop => Ldsmaxh32Memop::encode_block(instr, buf, labels),
        Code::TST_ANDS_64S_log_imm => TstAnds64sLogImm::encode_block(instr, buf, labels),
        Code::CBHGT_16_regs => Cbhgt16Regs::encode_block(instr, buf, labels),
        Code::CBNE_32_regs => Cbne32Regs::encode_block(instr, buf, labels),
        Code::LDAPP_64_ldiappstilp => Ldapp64Ldiappstilp::encode_block(instr, buf, labels),
        Code::PACIA_64P_dp_1src => Pacia64pDp1src::encode_block(instr, buf, labels),
        Code::STUMINL_LDUMINL_32_memop => StuminlLduminl32Memop::encode_block(instr, buf, labels),
        Code::BLRABZ_64_branch_reg => Blrabz64BranchReg::encode_block(instr, buf, labels),
        Code::CBHI_32_regs => Cbhi32Regs::encode_block(instr, buf, labels),
        Code::ADDS_64_addsub_shift => Adds64AddsubShift::encode_block(instr, buf, labels),
        Code::CBLE_CBLT_64_imm => CbleCblt64Imm::encode_block(instr, buf, labels),
        Code::CPYFERN_CPY_memcms => CpyfernCpyMemcms::encode_block(instr, buf, labels),
        Code::CRC32CW_32C_dp_2src => Crc32cw32cDp2src::encode_block(instr, buf, labels),
        Code::EOR_32_log_shift => Eor32LogShift::encode_block(instr, buf, labels),
        Code::LDCLRA_32_memop => Ldclra32Memop::encode_block(instr, buf, labels),
        Code::LSR_LSRV_32_dp_2src => LsrLsrv32Dp2src::encode_block(instr, buf, labels),
        Code::RCWSSET_64_memop => Rcwsset64Memop::encode_block(instr, buf, labels),
        Code::CASH_C32_comswap => CashC32Comswap::encode_block(instr, buf, labels),
        Code::RCWSSWPPAL_128_memop_128 => Rcwsswppal128Memop128::encode_block(instr, buf, labels),
        Code::CBNE_64_imm => Cbne64Imm::encode_block(instr, buf, labels),
        Code::RETAA_64E_branch_reg => Retaa64eBranchReg::encode_block(instr, buf, labels),
        Code::ADDS_64S_addsub_ext => Adds64sAddsubExt::encode_block(instr, buf, labels),
        Code::STILP_64SS_ldiappstilp => Stilp64ssLdiappstilp::encode_block(instr, buf, labels),
        Code::CSET_CSINC_64_condsel => CsetCsinc64Condsel::encode_block(instr, buf, labels),
        Code::CINC_CSINC_64_condsel => CincCsinc64Condsel::encode_block(instr, buf, labels),
        Code::PACIBSP_HI_hints => PacibspHiHints::encode_block(instr, buf, labels),
        Code::SWPTL_64_memop_unpriv => Swptl64MemopUnpriv::encode_block(instr, buf, labels),
        Code::EOR_32_log_imm => Eor32LogImm::encode_block(instr, buf, labels),
        Code::LDSETA_64_memop => Ldseta64Memop::encode_block(instr, buf, labels),
        Code::RCWCASP_C64_rcwcomswappr => RcwcaspC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::RCWSSETA_64_memop => Rcwsseta64Memop::encode_block(instr, buf, labels),
        Code::MOV_ORR_32_log_shift => MovOrr32LogShift::encode_block(instr, buf, labels),
        Code::STR_32_ldst_regoff => Str32LdstRegoff::encode_block(instr, buf, labels),
        Code::RCWSET_64_memop => Rcwset64Memop::encode_block(instr, buf, labels),
        Code::STGP_64_ldstpair_off => Stgp64LdstpairOff::encode_block(instr, buf, labels),
        Code::ST2G_64Spost_ldsttags => St2g64spostLdsttags::encode_block(instr, buf, labels),
        Code::LDR_64_ldst_regoff => Ldr64LdstRegoff::encode_block(instr, buf, labels),
        Code::RCWCLRPL_128_memop_128 => Rcwclrpl128Memop128::encode_block(instr, buf, labels),
        Code::LDPSW_64_ldstpair_off => Ldpsw64LdstpairOff::encode_block(instr, buf, labels),
        Code::STSMAXLH_LDSMAXLH_32_memop => StsmaxlhLdsmaxlh32Memop::encode_block(instr, buf, labels),
        Code::STUMINH_LDUMINH_32_memop => StuminhLduminh32Memop::encode_block(instr, buf, labels),
        Code::SWPH_32_memop => Swph32Memop::encode_block(instr, buf, labels),
        Code::CPYFPT_CPY_memcms => CpyfptCpyMemcms::encode_block(instr, buf, labels),
        Code::LDAPURB_32_ldapstl_unscaled => Ldapurb32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::LDIAPP_64L_ldiappstilp => Ldiapp64lLdiappstilp::encode_block(instr, buf, labels),
        Code::PACDZB_64Z_dp_1src => Pacdzb64zDp1src::encode_block(instr, buf, labels),
        Code::LDURSB_32_ldst_unscaled => Ldursb32LdstUnscaled::encode_block(instr, buf, labels),
        Code::LDRH_32_ldst_immpost => Ldrh32LdstImmpost::encode_block(instr, buf, labels),
        Code::CASAL_C32_comswap => CasalC32Comswap::encode_block(instr, buf, labels),
        Code::CMN_ADDS_64S_addsub_imm => CmnAdds64sAddsubImm::encode_block(instr, buf, labels),
        Code::REV_64_dp_1src => Rev64Dp1src::encode_block(instr, buf, labels),
        Code::LDTSETA_64_memop_unpriv => Ldtseta64MemopUnpriv::encode_block(instr, buf, labels),
        Code::RETABSPPC_only_miscbranch => RetabsppcOnlyMiscbranch::encode_block(instr, buf, labels),
        Code::REV16_64_dp_1src => Rev1664Dp1src::encode_block(instr, buf, labels),
        Code::STEORLH_LDEORLH_32_memop => SteorlhLdeorlh32Memop::encode_block(instr, buf, labels),
        Code::IRG_64I_dp_2src => Irg64iDp2src::encode_block(instr, buf, labels),
        Code::LDUMAXA_32_memop => Ldumaxa32Memop::encode_block(instr, buf, labels),
        Code::AUTIB_64P_dp_1src => Autib64pDp1src::encode_block(instr, buf, labels),
        Code::SMSUBL_64WA_dp_3src => Smsubl64waDp3src::encode_block(instr, buf, labels),
        Code::LDTRSB_32_ldst_unpriv => Ldtrsb32LdstUnpriv::encode_block(instr, buf, labels),
        Code::CCMP_32_condcmp_imm => Ccmp32CondcmpImm::encode_block(instr, buf, labels),
        Code::ERETAA_64E_branch_reg => Eretaa64eBranchReg::encode_block(instr, buf, labels),
        Code::LDSMAXLB_32_memop => Ldsmaxlb32Memop::encode_block(instr, buf, labels),
        Code::LDTR_64_ldst_unpriv => Ldtr64LdstUnpriv::encode_block(instr, buf, labels),
        Code::AUTDZA_64Z_dp_1src => Autdza64zDp1src::encode_block(instr, buf, labels),
        Code::LDUMAXAB_32_memop => Ldumaxab32Memop::encode_block(instr, buf, labels),
        Code::SETMT_SET_memcms => SetmtSetMemcms::encode_block(instr, buf, labels),
        Code::SMIN_32_minmax_imm => Smin32MinmaxImm::encode_block(instr, buf, labels),
        Code::SMNEGL_SMSUBL_64WA_dp_3src => SmneglSmsubl64waDp3src::encode_block(instr, buf, labels),
        Code::UMAX_32_dp_2src => Umax32Dp2src::encode_block(instr, buf, labels),
        Code::CRC32H_32C_dp_2src => Crc32h32cDp2src::encode_block(instr, buf, labels),
        Code::LDSMAXA_64_memop => Ldsmaxa64Memop::encode_block(instr, buf, labels),
        Code::STSMINH_LDSMINH_32_memop => StsminhLdsminh32Memop::encode_block(instr, buf, labels),
        Code::CPYETN_CPY_memcms => CpyetnCpyMemcms::encode_block(instr, buf, labels),
        Code::SETP_SET_memcms => SetpSetMemcms::encode_block(instr, buf, labels),
        Code::AND_64_log_imm => And64LogImm::encode_block(instr, buf, labels),
        Code::BLRAA_64P_branch_reg => Blraa64pBranchReg::encode_block(instr, buf, labels),
        Code::LDRSW_64_ldst_pos => Ldrsw64LdstPos::encode_block(instr, buf, labels),
        Code::LDUMINAL_64_memop => Lduminal64Memop::encode_block(instr, buf, labels),
        Code::CASPAL_CP64_comswappr => CaspalCp64Comswappr::encode_block(instr, buf, labels),
        Code::CPYFEWT_CPY_memcms => CpyfewtCpyMemcms::encode_block(instr, buf, labels),
        Code::LDAXP_LP64_ldstexclp => LdaxpLp64Ldstexclp::encode_block(instr, buf, labels),
        Code::STLXR_SR64_ldstexclr => StlxrSr64Ldstexclr::encode_block(instr, buf, labels),
        Code::CPYFMWTN_CPY_memcms => CpyfmwtnCpyMemcms::encode_block(instr, buf, labels),
        Code::SETGEN_SET_memcms => SetgenSetMemcms::encode_block(instr, buf, labels),
        Code::SXTW_SBFM_64M_bitfield => SxtwSbfm64mBitfield::encode_block(instr, buf, labels),
        Code::PACIB_64P_dp_1src => Pacib64pDp1src::encode_block(instr, buf, labels),
        Code::CSINC_64_condsel => Csinc64Condsel::encode_block(instr, buf, labels),
        Code::CPYFMN_CPY_memcms => CpyfmnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDARH_LR32_ldstord => LdarhLr32Ldstord::encode_block(instr, buf, labels),
        Code::LDRSH_64_ldst_immpre => Ldrsh64LdstImmpre::encode_block(instr, buf, labels),
        Code::LDRSH_32_ldst_regoff => Ldrsh32LdstRegoff::encode_block(instr, buf, labels),
        Code::LDEORAL_64_memop => Ldeoral64Memop::encode_block(instr, buf, labels),
        Code::CBHNE_16_regs => Cbhne16Regs::encode_block(instr, buf, labels),
        Code::NEG_SUB_32_addsub_shift => NegSub32AddsubShift::encode_block(instr, buf, labels),
        Code::STRH_32_ldst_immpre => Strh32LdstImmpre::encode_block(instr, buf, labels),
        Code::LDIAPP_32L_ldiappstilp => Ldiapp32lLdiappstilp::encode_block(instr, buf, labels),
        Code::SXTB_SBFM_32M_bitfield => SxtbSbfm32mBitfield::encode_block(instr, buf, labels),
        Code::NEG_SUB_64_addsub_shift => NegSub64AddsubShift::encode_block(instr, buf, labels),
        Code::LDEORAB_32_memop => Ldeorab32Memop::encode_block(instr, buf, labels),
        Code::STLXP_SP64_ldstexclp => StlxpSp64Ldstexclp::encode_block(instr, buf, labels),
        Code::UMIN_64_dp_2src => Umin64Dp2src::encode_block(instr, buf, labels),
        Code::RET_64R_branch_reg => Ret64rBranchReg::encode_block(instr, buf, labels),
        Code::STG_64Spre_ldsttags => Stg64spreLdsttags::encode_block(instr, buf, labels),
        Code::MOV_ORR_64_log_imm => MovOrr64LogImm::encode_block(instr, buf, labels),
        Code::SWPLB_32_memop => Swplb32Memop::encode_block(instr, buf, labels),
        Code::AUTIB171615_64LR_dp_1src => Autib17161564lrDp1src::encode_block(instr, buf, labels),
        Code::PRFM_P_ldst_regoff => PrfmPLdstRegoff::encode_block(instr, buf, labels),
        Code::RCWSWP_64_memop => Rcwswp64Memop::encode_block(instr, buf, labels),
        Code::RCWSWPPL_128_memop_128 => Rcwswppl128Memop128::encode_block(instr, buf, labels),
        Code::STTNP_64_ldstnapair_offs => Sttnp64LdstnapairOffs::encode_block(instr, buf, labels),
        Code::CPYEWTRN_CPY_memcms => CpyewtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDUMINALB_32_memop => Lduminalb32Memop::encode_block(instr, buf, labels),
        Code::ADC_64_addsub_carry => Adc64AddsubCarry::encode_block(instr, buf, labels),
        Code::CBLS_CBHS_32_regs => CblsCbhs32Regs::encode_block(instr, buf, labels),
        Code::CBNZ_64_compbranch => Cbnz64Compbranch::encode_block(instr, buf, labels),
        Code::RCWSCLRAL_64_memop => Rcwsclral64Memop::encode_block(instr, buf, labels),
        Code::CPYFMRTRN_CPY_memcms => CpyfmrtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYMWTRN_CPY_memcms => CpymwtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::STLRH_SL32_ldstord => StlrhSl32Ldstord::encode_block(instr, buf, labels),
        Code::CBLT_CBGT_64_regs => CbltCbgt64Regs::encode_block(instr, buf, labels),
        Code::MOV_ORR_32_log_imm => MovOrr32LogImm::encode_block(instr, buf, labels),
        Code::STZGM_64bulk_ldsttags => Stzgm64bulkLdsttags::encode_block(instr, buf, labels),
        Code::UBFIZ_UBFM_64M_bitfield => UbfizUbfm64mBitfield::encode_block(instr, buf, labels),
        Code::CBNZ_32_compbranch => Cbnz32Compbranch::encode_block(instr, buf, labels),
        Code::BLRAAZ_64_branch_reg => Blraaz64BranchReg::encode_block(instr, buf, labels),
        Code::CASALT_C64_comswap_unpriv => CasaltC64ComswapUnpriv::encode_block(instr, buf, labels),
        Code::ADD_64_addsub_ext => Add64AddsubExt::encode_block(instr, buf, labels),
        Code::CBLE_CBGE_32_regs => CbleCbge32Regs::encode_block(instr, buf, labels),
        Code::SUB_64_addsub_ext => Sub64AddsubExt::encode_block(instr, buf, labels),
        Code::LDSMINA_64_memop => Ldsmina64Memop::encode_block(instr, buf, labels),
        Code::CNEG_CSNEG_32_condsel => CnegCsneg32Condsel::encode_block(instr, buf, labels),
        Code::LDRSB_64_ldst_immpost => Ldrsb64LdstImmpost::encode_block(instr, buf, labels),
        Code::LDTCLRL_32_memop_unpriv => Ldtclrl32MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDUMAXB_32_memop => Ldumaxb32Memop::encode_block(instr, buf, labels),
        Code::LDUMAXL_64_memop => Ldumaxl64Memop::encode_block(instr, buf, labels),
        Code::PACIA171615_64LR_dp_1src => Pacia17161564lrDp1src::encode_block(instr, buf, labels),
        Code::LDSMAXAH_32_memop => Ldsmaxah32Memop::encode_block(instr, buf, labels),
        Code::SWPTA_64_memop_unpriv => Swpta64MemopUnpriv::encode_block(instr, buf, labels),
        Code::SDIV_64_dp_2src => Sdiv64Dp2src::encode_block(instr, buf, labels),
        Code::LDSMINAL_32_memop => Ldsminal32Memop::encode_block(instr, buf, labels),
        Code::SWPP_128_memop_128 => Swpp128Memop128::encode_block(instr, buf, labels),
        Code::UDIV_32_dp_2src => Udiv32Dp2src::encode_block(instr, buf, labels),
        Code::CMN_ADDS_32S_addsub_imm => CmnAdds32sAddsubImm::encode_block(instr, buf, labels),
        Code::CPYFEWN_CPY_memcms => CpyfewnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDAP_64_ldiappstilp => Ldap64Ldiappstilp::encode_block(instr, buf, labels),
        Code::CNT_64_dp_1src => Cnt64Dp1src::encode_block(instr, buf, labels),
        Code::PRFUM_P_ldst_unscaled => PrfumPLdstUnscaled::encode_block(instr, buf, labels),
        Code::SBC_64_addsub_carry => Sbc64AddsubCarry::encode_block(instr, buf, labels),
        Code::STZG_64Spre_ldsttags => Stzg64spreLdsttags::encode_block(instr, buf, labels),
        Code::STTP_64_ldstpair_pre => Sttp64LdstpairPre::encode_block(instr, buf, labels),
        Code::SUBS_64S_addsub_ext => Subs64sAddsubExt::encode_block(instr, buf, labels),
        Code::STUMINB_LDUMINB_32_memop => StuminbLduminb32Memop::encode_block(instr, buf, labels),
        Code::LDCLRH_32_memop => Ldclrh32Memop::encode_block(instr, buf, labels),
        Code::CPYPWT_CPY_memcms => CpypwtCpyMemcms::encode_block(instr, buf, labels),
        Code::CRC32W_32C_dp_2src => Crc32w32cDp2src::encode_block(instr, buf, labels),
        Code::CASLH_C32_comswap => CaslhC32Comswap::encode_block(instr, buf, labels),
        Code::LDCLRL_32_memop => Ldclrl32Memop::encode_block(instr, buf, labels),
        Code::STRB_32B_ldst_regoff => Strb32bLdstRegoff::encode_block(instr, buf, labels),
        Code::CPYFMRT_CPY_memcms => CpyfmrtCpyMemcms::encode_block(instr, buf, labels),
        Code::MOVN_64_movewide => Movn64Movewide::encode_block(instr, buf, labels),
        Code::RORV_32_dp_2src => Rorv32Dp2src::encode_block(instr, buf, labels),
        Code::CPYMWT_CPY_memcms => CpymwtCpyMemcms::encode_block(instr, buf, labels),
        Code::SETET_SET_memcms => SetetSetMemcms::encode_block(instr, buf, labels),
        Code::CBGE_32_regs => Cbge32Regs::encode_block(instr, buf, labels),
        Code::STSETL_LDSETL_64_memop => StsetlLdsetl64Memop::encode_block(instr, buf, labels),
        Code::CPYFEWTRN_CPY_memcms => CpyfewtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDAPUR_64_ldapstl_unscaled => Ldapur64LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::LDUMINAH_32_memop => Lduminah32Memop::encode_block(instr, buf, labels),
        Code::SMULH_64_dp_3src => Smulh64Dp3src::encode_block(instr, buf, labels),
        Code::RCWCASPL_C64_rcwcomswappr => RcwcasplC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::STTR_32_ldst_unpriv => Sttr32LdstUnpriv::encode_block(instr, buf, labels),
        Code::LDSETL_32_memop => Ldsetl32Memop::encode_block(instr, buf, labels),
        Code::BRABZ_64_branch_reg => Brabz64BranchReg::encode_block(instr, buf, labels),
        Code::LDTADD_64_memop_unpriv => Ldtadd64MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDADDH_32_memop => Ldaddh32Memop::encode_block(instr, buf, labels),
        Code::LDG_64Loffset_ldsttags => Ldg64loffsetLdsttags::encode_block(instr, buf, labels),
        Code::LDUMINALH_32_memop => Lduminalh32Memop::encode_block(instr, buf, labels),
        Code::SETGP_SET_memcms => SetgpSetMemcms::encode_block(instr, buf, labels),
        Code::MVN_ORN_64_log_shift => MvnOrn64LogShift::encode_block(instr, buf, labels),
        Code::CMN_ADDS_32S_addsub_ext => CmnAdds32sAddsubExt::encode_block(instr, buf, labels),
        Code::AUTIBSPPCR_64LRR_dp_1src => Autibsppcr64lrrDp1src::encode_block(instr, buf, labels),
        Code::CBHHS_16_regs => Cbhhs16Regs::encode_block(instr, buf, labels),
        Code::SWPLH_32_memop => Swplh32Memop::encode_block(instr, buf, labels),
        Code::RCWSWPP_128_memop_128 => Rcwswpp128Memop128::encode_block(instr, buf, labels),
        Code::STCLRB_LDCLRB_32_memop => StclrbLdclrb32Memop::encode_block(instr, buf, labels),
        Code::CASAB_C32_comswap => CasabC32Comswap::encode_block(instr, buf, labels),
        Code::LDRSB_64B_ldst_regoff => Ldrsb64bLdstRegoff::encode_block(instr, buf, labels),
        Code::LDEOR_32_memop => Ldeor32Memop::encode_block(instr, buf, labels),
        Code::ANDS_32S_log_imm => Ands32sLogImm::encode_block(instr, buf, labels),
        Code::ABS_32_dp_1src => Abs32Dp1src::encode_block(instr, buf, labels),
        Code::LDTSETL_32_memop_unpriv => Ldtsetl32MemopUnpriv::encode_block(instr, buf, labels),
        Code::STTSETL_LDTSETL_64_memop_unpriv => SttsetlLdtsetl64MemopUnpriv::encode_block(instr, buf, labels),
        Code::SWP_32_memop => Swp32Memop::encode_block(instr, buf, labels),
        Code::CBLS_CBLO_32_imm => CblsCblo32Imm::encode_block(instr, buf, labels),
        Code::CBHS_64_regs => Cbhs64Regs::encode_block(instr, buf, labels),
        Code::ABS_64_dp_1src => Abs64Dp1src::encode_block(instr, buf, labels),
        Code::PACIZB_64Z_dp_1src => Pacizb64zDp1src::encode_block(instr, buf, labels),
        Code::LDCLRAL_32_memop => Ldclral32Memop::encode_block(instr, buf, labels),
        Code::STNP_32_ldstnapair_offs => Stnp32LdstnapairOffs::encode_block(instr, buf, labels),
        Code::TST_ANDS_64_log_shift => TstAnds64LogShift::encode_block(instr, buf, labels),
        Code::LDTP_64_ldstpair_off => Ldtp64LdstpairOff::encode_block(instr, buf, labels),
        Code::ADDS_32_addsub_shift => Adds32AddsubShift::encode_block(instr, buf, labels),
        Code::STSETLH_LDSETLH_32_memop => StsetlhLdsetlh32Memop::encode_block(instr, buf, labels),
        Code::MUL_MADD_64A_dp_3src => MulMadd64aDp3src::encode_block(instr, buf, labels),
        Code::STNP_64_ldstnapair_offs => Stnp64LdstnapairOffs::encode_block(instr, buf, labels),
        Code::CASLB_C32_comswap => CaslbC32Comswap::encode_block(instr, buf, labels),
        Code::LDEORA_64_memop => Ldeora64Memop::encode_block(instr, buf, labels),
        Code::CPYFMTWN_CPY_memcms => CpyfmtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::STEORL_LDEORL_32_memop => SteorlLdeorl32Memop::encode_block(instr, buf, labels),
        Code::ANDS_32_log_shift => Ands32LogShift::encode_block(instr, buf, labels),
        Code::CCMN_64_condcmp_imm => Ccmn64CondcmpImm::encode_block(instr, buf, labels),
        Code::LDRSB_32_ldst_immpre => Ldrsb32LdstImmpre::encode_block(instr, buf, labels),
        Code::CPYERTRN_CPY_memcms => CpyertrnCpyMemcms::encode_block(instr, buf, labels),
        Code::ADDS_32S_addsub_imm => Adds32sAddsubImm::encode_block(instr, buf, labels),
        Code::LDTRSH_64_ldst_unpriv => Ldtrsh64LdstUnpriv::encode_block(instr, buf, labels),
        Code::LDURSH_32_ldst_unscaled => Ldursh32LdstUnscaled::encode_block(instr, buf, labels),
        Code::RCWSCAS_C64_rcwcomswap => RcwscasC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::STCLRH_LDCLRH_32_memop => StclrhLdclrh32Memop::encode_block(instr, buf, labels),
        Code::LDUMINAB_32_memop => Lduminab32Memop::encode_block(instr, buf, labels),
        Code::ST64BV0_64_memop => St64bv064Memop::encode_block(instr, buf, labels),
        Code::CCMN_64_condcmp_reg => Ccmn64CondcmpReg::encode_block(instr, buf, labels),
        Code::CNT_32_dp_1src => Cnt32Dp1src::encode_block(instr, buf, labels),
        Code::CASPAT_CP64_comswappr_unpriv => CaspatCp64ComswapprUnpriv::encode_block(instr, buf, labels),
        Code::CTZ_64_dp_1src => Ctz64Dp1src::encode_block(instr, buf, labels),
        Code::EON_32_log_shift => Eon32LogShift::encode_block(instr, buf, labels),
        Code::CBHLE_CBHGE_16_regs => CbhleCbhge16Regs::encode_block(instr, buf, labels),
        Code::LSR_UBFM_32M_bitfield => LsrUbfm32mBitfield::encode_block(instr, buf, labels),
        Code::CPYFET_CPY_memcms => CpyfetCpyMemcms::encode_block(instr, buf, labels),
        Code::LDAXR_LR64_ldstexclr => LdaxrLr64Ldstexclr::encode_block(instr, buf, labels),
        Code::LDXRH_LR32_ldstexclr => LdxrhLr32Ldstexclr::encode_block(instr, buf, labels),
        Code::LDTCLRA_64_memop_unpriv => Ldtclra64MemopUnpriv::encode_block(instr, buf, labels),
        Code::AUTIBSP_HI_hints => AutibspHiHints::encode_block(instr, buf, labels),
        Code::AND_32_log_shift => And32LogShift::encode_block(instr, buf, labels),
        Code::LDR_32_ldst_immpost => Ldr32LdstImmpost::encode_block(instr, buf, labels),
        Code::BIC_64_log_shift => Bic64LogShift::encode_block(instr, buf, labels),
        Code::CMN_ADDS_64S_addsub_ext => CmnAdds64sAddsubExt::encode_block(instr, buf, labels),
        Code::LDSETALH_32_memop => Ldsetalh32Memop::encode_block(instr, buf, labels),
        Code::LDCLRPA_128_memop_128 => Ldclrpa128Memop128::encode_block(instr, buf, labels),
        Code::RCWSCLRPA_128_memop_128 => Rcwsclrpa128Memop128::encode_block(instr, buf, labels),
        Code::LSL_LSLV_64_dp_2src => LslLslv64Dp2src::encode_block(instr, buf, labels),
        Code::RBIT_64_dp_1src => Rbit64Dp1src::encode_block(instr, buf, labels),
        Code::RCWSSETPL_128_memop_128 => Rcwssetpl128Memop128::encode_block(instr, buf, labels),
        Code::LDUMINL_32_memop => Lduminl32Memop::encode_block(instr, buf, labels),
        Code::CPYPTWN_CPY_memcms => CpyptwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDCLRA_64_memop => Ldclra64Memop::encode_block(instr, buf, labels),
        Code::LDRH_32_ldst_immpre => Ldrh32LdstImmpre::encode_block(instr, buf, labels),
        Code::LDCLRP_128_memop_128 => Ldclrp128Memop128::encode_block(instr, buf, labels),
        Code::STZG_64Spost_ldsttags => Stzg64spostLdsttags::encode_block(instr, buf, labels),
        Code::CRC32X_64C_dp_2src => Crc32x64cDp2src::encode_block(instr, buf, labels),
        Code::RCWCLRPA_128_memop_128 => Rcwclrpa128Memop128::encode_block(instr, buf, labels),
        Code::STRH_32_ldst_immpost => Strh32LdstImmpost::encode_block(instr, buf, labels),
        Code::UMIN_64U_minmax_imm => Umin64uMinmaxImm::encode_block(instr, buf, labels),
        Code::LDR_64_ldst_immpost => Ldr64LdstImmpost::encode_block(instr, buf, labels),
        Code::RCWSETL_64_memop => Rcwsetl64Memop::encode_block(instr, buf, labels),
        Code::LDUMINLH_32_memop => Lduminlh32Memop::encode_block(instr, buf, labels),
        Code::ASR_SBFM_64M_bitfield => AsrSbfm64mBitfield::encode_block(instr, buf, labels),
        Code::CPYPTN_CPY_memcms => CpyptnCpyMemcms::encode_block(instr, buf, labels),
        Code::CASPL_CP64_comswappr => CasplCp64Comswappr::encode_block(instr, buf, labels),
        Code::LDSMINH_32_memop => Ldsminh32Memop::encode_block(instr, buf, labels),
        Code::LDTSETAL_64_memop_unpriv => Ldtsetal64MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDAXR_LR32_ldstexclr => LdaxrLr32Ldstexclr::encode_block(instr, buf, labels),
        Code::LDTADDL_32_memop_unpriv => Ldtaddl32MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDRSB_32_ldst_pos => Ldrsb32LdstPos::encode_block(instr, buf, labels),
        Code::PACNBIASPPC_64LR_dp_1src => Pacnbiasppc64lrDp1src::encode_block(instr, buf, labels),
        Code::SWPT_64_memop_unpriv => Swpt64MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDEORA_32_memop => Ldeora32Memop::encode_block(instr, buf, labels),
        Code::UMIN_32U_minmax_imm => Umin32uMinmaxImm::encode_block(instr, buf, labels),
        Code::STSMAXL_LDSMAXL_32_memop => StsmaxlLdsmaxl32Memop::encode_block(instr, buf, labels),
        Code::SMIN_64_minmax_imm => Smin64MinmaxImm::encode_block(instr, buf, labels),
        Code::LDATXR_LR64_ldstexclr_unpriv => LdatxrLr64LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::ASRV_32_dp_2src => Asrv32Dp2src::encode_block(instr, buf, labels),
        Code::BRAAZ_64_branch_reg => Braaz64BranchReg::encode_block(instr, buf, labels),
        Code::CBHI_32_imm => Cbhi32Imm::encode_block(instr, buf, labels),
        Code::STXR_SR64_ldstexclr => StxrSr64Ldstexclr::encode_block(instr, buf, labels),
        Code::CPYFPWN_CPY_memcms => CpyfpwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDUMAXAL_32_memop => Ldumaxal32Memop::encode_block(instr, buf, labels),
        Code::STRH_32_ldst_pos => Strh32LdstPos::encode_block(instr, buf, labels),
        Code::STR_32_ldst_immpost => Str32LdstImmpost::encode_block(instr, buf, labels),
        Code::LDTCLRA_32_memop_unpriv => Ldtclra32MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDCLRLH_32_memop => Ldclrlh32Memop::encode_block(instr, buf, labels),
        Code::SETETN_SET_memcms => SetetnSetMemcms::encode_block(instr, buf, labels),
        Code::STUMINLH_LDUMINLH_32_memop => StuminlhLduminlh32Memop::encode_block(instr, buf, labels),
        Code::CRC32B_32C_dp_2src => Crc32b32cDp2src::encode_block(instr, buf, labels),
        Code::CPYFPN_CPY_memcms => CpyfpnCpyMemcms::encode_block(instr, buf, labels),
        Code::RETAB_64E_branch_reg => Retab64eBranchReg::encode_block(instr, buf, labels),
        Code::STXR_SR32_ldstexclr => StxrSr32Ldstexclr::encode_block(instr, buf, labels),
        Code::PACDB_64P_dp_1src => Pacdb64pDp1src::encode_block(instr, buf, labels),
        Code::CBLE_CBLT_32_imm => CbleCblt32Imm::encode_block(instr, buf, labels),
        Code::STUMAXLB_LDUMAXLB_32_memop => StumaxlbLdumaxlb32Memop::encode_block(instr, buf, labels),
        Code::MOV_MOVZ_32_movewide => MovMovz32Movewide::encode_block(instr, buf, labels),
        Code::UXTB_UBFM_32M_bitfield => UxtbUbfm32mBitfield::encode_block(instr, buf, labels),
        Code::LDP_32_ldstpair_post => Ldp32LdstpairPost::encode_block(instr, buf, labels),
        Code::RCWCASPA_C64_rcwcomswappr => RcwcaspaC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::ANDS_64S_log_imm => Ands64sLogImm::encode_block(instr, buf, labels),
        Code::LDEORLH_32_memop => Ldeorlh32Memop::encode_block(instr, buf, labels),
        Code::CPYFEWTN_CPY_memcms => CpyfewtnCpyMemcms::encode_block(instr, buf, labels),
        Code::CBLT_32_imm => Cblt32Imm::encode_block(instr, buf, labels),
        Code::LDURSB_64_ldst_unscaled => Ldursb64LdstUnscaled::encode_block(instr, buf, labels),
        Code::PACIB1716_HI_hints => Pacib1716HiHints::encode_block(instr, buf, labels),
        Code::GCSSTTR_64_ldst_gcs => Gcssttr64LdstGcs::encode_block(instr, buf, labels),
        Code::LDRB_32B_ldst_regoff => Ldrb32bLdstRegoff::encode_block(instr, buf, labels),
        Code::STG_64Spost_ldsttags => Stg64spostLdsttags::encode_block(instr, buf, labels),
        Code::STEOR_LDEOR_32_memop => SteorLdeor32Memop::encode_block(instr, buf, labels),
        Code::STADDLB_LDADDLB_32_memop => StaddlbLdaddlb32Memop::encode_block(instr, buf, labels),
        Code::SWPAB_32_memop => Swpab32Memop::encode_block(instr, buf, labels),
        Code::LDUMINB_32_memop => Lduminb32Memop::encode_block(instr, buf, labels),
        Code::CBEQ_64_imm => Cbeq64Imm::encode_block(instr, buf, labels),
        Code::SETGPN_SET_memcms => SetgpnSetMemcms::encode_block(instr, buf, labels),
        Code::SBFM_64M_bitfield => Sbfm64mBitfield::encode_block(instr, buf, labels),
        Code::CBHHI_16_regs => Cbhhi16Regs::encode_block(instr, buf, labels),
        Code::LDAXRB_LR32_ldstexclr => LdaxrbLr32Ldstexclr::encode_block(instr, buf, labels),
        Code::MADD_64A_dp_3src => Madd64aDp3src::encode_block(instr, buf, labels),
        Code::SUBS_32S_addsub_ext => Subs32sAddsubExt::encode_block(instr, buf, labels),
        Code::CLS_64_dp_1src => Cls64Dp1src::encode_block(instr, buf, labels),
        Code::LDNP_64_ldstnapair_offs => Ldnp64LdstnapairOffs::encode_block(instr, buf, labels),
        Code::CPYFERT_CPY_memcms => CpyfertCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYMRT_CPY_memcms => CpymrtCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSCLRA_64_memop => Rcwsclra64Memop::encode_block(instr, buf, labels),
        Code::ORN_32_log_shift => Orn32LogShift::encode_block(instr, buf, labels),
        Code::RCWSCLRPL_128_memop_128 => Rcwsclrpl128Memop128::encode_block(instr, buf, labels),
        Code::LDADDAB_32_memop => Ldaddab32Memop::encode_block(instr, buf, labels),
        Code::STCLR_LDCLR_32_memop => StclrLdclr32Memop::encode_block(instr, buf, labels),
        Code::STUR_32_ldst_unscaled => Stur32LdstUnscaled::encode_block(instr, buf, labels),
        Code::CINV_CSINV_32_condsel => CinvCsinv32Condsel::encode_block(instr, buf, labels),
        Code::RMIF_only_rmif => RmifOnlyRmif::encode_block(instr, buf, labels),
        Code::REV32_64_dp_1src => Rev3264Dp1src::encode_block(instr, buf, labels),
        Code::LDRH_32_ldst_regoff => Ldrh32LdstRegoff::encode_block(instr, buf, labels),
        Code::LDADDALB_32_memop => Ldaddalb32Memop::encode_block(instr, buf, labels),
        Code::RCWSCLRP_128_memop_128 => Rcwsclrp128Memop128::encode_block(instr, buf, labels),
        Code::CPYEN_CPY_memcms => CpyenCpyMemcms::encode_block(instr, buf, labels),
        Code::UMIN_32_dp_2src => Umin32Dp2src::encode_block(instr, buf, labels),
        Code::LDAR_LR32_ldstord => LdarLr32Ldstord::encode_block(instr, buf, labels),
        Code::LDSMAX_64_memop => Ldsmax64Memop::encode_block(instr, buf, labels),
        Code::MOVZ_64_movewide => Movz64Movewide::encode_block(instr, buf, labels),
        Code::LDAPR_64L_ldapstl_writeback => Ldapr64lLdapstlWriteback::encode_block(instr, buf, labels),
        Code::MOV_ADD_32_addsub_imm => MovAdd32AddsubImm::encode_block(instr, buf, labels),
        Code::STADDLH_LDADDLH_32_memop => StaddlhLdaddlh32Memop::encode_block(instr, buf, labels),
        Code::LDSMINALH_32_memop => Ldsminalh32Memop::encode_block(instr, buf, labels),
        Code::LDAPURSH_64_ldapstl_unscaled => Ldapursh64LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::CPYMTN_CPY_memcms => CpymtnCpyMemcms::encode_block(instr, buf, labels),
        Code::CSET_CSINC_32_condsel => CsetCsinc32Condsel::encode_block(instr, buf, labels),
        Code::STXP_SP64_ldstexclp => StxpSp64Ldstexclp::encode_block(instr, buf, labels),
        Code::STTADDL_LDTADDL_64_memop_unpriv => SttaddlLdtaddl64MemopUnpriv::encode_block(instr, buf, labels),
        Code::RCWSSWP_64_memop => Rcwsswp64Memop::encode_block(instr, buf, labels),
        Code::B_only_branch_imm => BOnlyBranchImm::encode_block(instr, buf, labels),
        Code::LDSMINB_32_memop => Ldsminb32Memop::encode_block(instr, buf, labels),
        Code::PACIASPPC_64LR_dp_1src => Paciasppc64lrDp1src::encode_block(instr, buf, labels),
        Code::ADDS_32S_addsub_ext => Adds32sAddsubExt::encode_block(instr, buf, labels),
        Code::AUTIZA_64Z_dp_1src => Autiza64zDp1src::encode_block(instr, buf, labels),
        Code::STR_64_ldst_immpre => Str64LdstImmpre::encode_block(instr, buf, labels),
        Code::LDUMIN_32_memop => Ldumin32Memop::encode_block(instr, buf, labels),
        Code::STSMAXB_LDSMAXB_32_memop => StsmaxbLdsmaxb32Memop::encode_block(instr, buf, labels),
        Code::SUB_64_addsub_imm => Sub64AddsubImm::encode_block(instr, buf, labels),
        Code::BFC_BFM_32M_bitfield => BfcBfm32mBitfield::encode_block(instr, buf, labels),
        Code::LSL_LSLV_32_dp_2src => LslLslv32Dp2src::encode_block(instr, buf, labels),
        Code::STSMAX_LDSMAX_32_memop => StsmaxLdsmax32Memop::encode_block(instr, buf, labels),
        Code::CBLS_CBLO_64_imm => CblsCblo64Imm::encode_block(instr, buf, labels),
        Code::LDXR_LR64_ldstexclr => LdxrLr64Ldstexclr::encode_block(instr, buf, labels),
        Code::TST_ANDS_32_log_shift => TstAnds32LogShift::encode_block(instr, buf, labels),
        Code::LDCLRL_64_memop => Ldclrl64Memop::encode_block(instr, buf, labels),
        Code::LDUMINAL_32_memop => Lduminal32Memop::encode_block(instr, buf, labels),
        Code::STADDB_LDADDB_32_memop => StaddbLdaddb32Memop::encode_block(instr, buf, labels),
        Code::LDTRH_32_ldst_unpriv => Ldtrh32LdstUnpriv::encode_block(instr, buf, labels),
        Code::STR_64_ldst_pos => Str64LdstPos::encode_block(instr, buf, labels),
        Code::UMAX_64U_minmax_imm => Umax64uMinmaxImm::encode_block(instr, buf, labels),
        Code::UMULL_UMADDL_64WA_dp_3src => UmullUmaddl64waDp3src::encode_block(instr, buf, labels),
        Code::STEORB_LDEORB_32_memop => SteorbLdeorb32Memop::encode_block(instr, buf, labels),
        Code::CASAT_C64_comswap_unpriv => CasatC64ComswapUnpriv::encode_block(instr, buf, labels),
        Code::RCWSCASP_C64_rcwcomswappr => RcwscaspC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::UXTH_UBFM_32M_bitfield => UxthUbfm32mBitfield::encode_block(instr, buf, labels),
        Code::LDSMINAB_32_memop => Ldsminab32Memop::encode_block(instr, buf, labels),
        Code::CPYFPTN_CPY_memcms => CpyfptnCpyMemcms::encode_block(instr, buf, labels),
        Code::STTADD_LDTADD_64_memop_unpriv => SttaddLdtadd64MemopUnpriv::encode_block(instr, buf, labels),
        Code::STCLR_LDCLR_64_memop => StclrLdclr64Memop::encode_block(instr, buf, labels),
        Code::LDUMINA_64_memop => Ldumina64Memop::encode_block(instr, buf, labels),
        Code::CCMN_32_condcmp_reg => Ccmn32CondcmpReg::encode_block(instr, buf, labels),
        Code::BICS_32_log_shift => Bics32LogShift::encode_block(instr, buf, labels),
        Code::CPYPT_CPY_memcms => CpyptCpyMemcms::encode_block(instr, buf, labels),
        Code::ASR_SBFM_32M_bitfield => AsrSbfm32mBitfield::encode_block(instr, buf, labels),
        Code::SBFM_32M_bitfield => Sbfm32mBitfield::encode_block(instr, buf, labels),
        Code::STSMAX_LDSMAX_64_memop => StsmaxLdsmax64Memop::encode_block(instr, buf, labels),
        Code::CMP_SUBS_32_addsub_shift => CmpSubs32AddsubShift::encode_block(instr, buf, labels),
        Code::LDTSET_32_memop_unpriv => Ldtset32MemopUnpriv::encode_block(instr, buf, labels),
        Code::STILP_32S_ldiappstilp => Stilp32sLdiappstilp::encode_block(instr, buf, labels),
        Code::STUMIN_LDUMIN_64_memop => StuminLdumin64Memop::encode_block(instr, buf, labels),
        Code::LDRSH_32_ldst_pos => Ldrsh32LdstPos::encode_block(instr, buf, labels),
        Code::CPYFPRT_CPY_memcms => CpyfprtCpyMemcms::encode_block(instr, buf, labels),
        Code::LDSETAL_64_memop => Ldsetal64Memop::encode_block(instr, buf, labels),
        Code::STADDL_LDADDL_32_memop => StaddlLdaddl32Memop::encode_block(instr, buf, labels),
        Code::ADDPT_64_addsub_pt => Addpt64AddsubPt::encode_block(instr, buf, labels),
        Code::LDSETP_128_memop_128 => Ldsetp128Memop128::encode_block(instr, buf, labels),
        Code::LDTR_32_ldst_unpriv => Ldtr32LdstUnpriv::encode_block(instr, buf, labels),
        Code::STUMAXL_LDUMAXL_64_memop => StumaxlLdumaxl64Memop::encode_block(instr, buf, labels),
        Code::CPYMRTWN_CPY_memcms => CpymrtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDSET_32_memop => Ldset32Memop::encode_block(instr, buf, labels),
        Code::SETF8_only_setf => Setf8OnlySetf::encode_block(instr, buf, labels),
        Code::SMAX_32_dp_2src => Smax32Dp2src::encode_block(instr, buf, labels),
        Code::CMP_SUBS_64S_addsub_ext => CmpSubs64sAddsubExt::encode_block(instr, buf, labels),
        Code::STZ2G_64Soffset_ldsttags => Stz2g64soffsetLdsttags::encode_block(instr, buf, labels),
        Code::CPYFE_CPY_memcms => CpyfeCpyMemcms::encode_block(instr, buf, labels),
        Code::ASR_ASRV_32_dp_2src => AsrAsrv32Dp2src::encode_block(instr, buf, labels),
        Code::CSETM_CSINV_64_condsel => CsetmCsinv64Condsel::encode_block(instr, buf, labels),
        Code::LDUMAXL_32_memop => Ldumaxl32Memop::encode_block(instr, buf, labels),
        Code::AUTIASPPC_only_dp_1src_imm => AutiasppcOnlyDp1srcImm::encode_block(instr, buf, labels),
        Code::LDEORAH_32_memop => Ldeorah32Memop::encode_block(instr, buf, labels),
        Code::LDRSH_64_ldst_regoff => Ldrsh64LdstRegoff::encode_block(instr, buf, labels),
        Code::MADD_32A_dp_3src => Madd32aDp3src::encode_block(instr, buf, labels),
        Code::LDRSB_32B_ldst_regoff => Ldrsb32bLdstRegoff::encode_block(instr, buf, labels),
        Code::LDARB_LR32_ldstord => LdarbLr32Ldstord::encode_block(instr, buf, labels),
        Code::MNEG_MSUB_32A_dp_3src => MnegMsub32aDp3src::encode_block(instr, buf, labels),
        Code::STLTXR_SR32_ldstexclr_unpriv => StltxrSr32LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::PACDA_64P_dp_1src => Pacda64pDp1src::encode_block(instr, buf, labels),
        Code::SWPTAL_32_memop_unpriv => Swptal32MemopUnpriv::encode_block(instr, buf, labels),
        Code::UMAX_32U_minmax_imm => Umax32uMinmaxImm::encode_block(instr, buf, labels),
        Code::SMAX_32_minmax_imm => Smax32MinmaxImm::encode_block(instr, buf, labels),
        Code::CBLO_64_imm => Cblo64Imm::encode_block(instr, buf, labels),
        Code::LDEOR_64_memop => Ldeor64Memop::encode_block(instr, buf, labels),
        Code::LDRB_32_ldst_immpost => Ldrb32LdstImmpost::encode_block(instr, buf, labels),
        Code::LDR_64_ldst_pos => Ldr64LdstPos::encode_block(instr, buf, labels),
        Code::STSETL_LDSETL_32_memop => StsetlLdsetl32Memop::encode_block(instr, buf, labels),
        Code::SUBPT_64_addsub_pt => Subpt64AddsubPt::encode_block(instr, buf, labels),
        Code::CRC32CH_32C_dp_2src => Crc32ch32cDp2src::encode_block(instr, buf, labels),
        Code::CBBLO_CBBHI_8_regs => CbbloCbbhi8Regs::encode_block(instr, buf, labels),
        Code::AUTIBSPPC_only_dp_1src_imm => AutibsppcOnlyDp1srcImm::encode_block(instr, buf, labels),
        Code::LDRSW_64_ldst_regoff => Ldrsw64LdstRegoff::encode_block(instr, buf, labels),
        Code::CMN_ADDS_64_addsub_shift => CmnAdds64AddsubShift::encode_block(instr, buf, labels),
        Code::STEOR_LDEOR_64_memop => SteorLdeor64Memop::encode_block(instr, buf, labels),
        Code::CPYMTWN_CPY_memcms => CpymtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDEORAL_32_memop => Ldeoral32Memop::encode_block(instr, buf, labels),
        Code::BRAA_64P_branch_reg => Braa64pBranchReg::encode_block(instr, buf, labels),
        Code::LDUMINL_64_memop => Lduminl64Memop::encode_block(instr, buf, labels),
        Code::LDRSB_32BL_ldst_regoff => Ldrsb32blLdstRegoff::encode_block(instr, buf, labels),
        Code::STUR_64_ldst_unscaled => Stur64LdstUnscaled::encode_block(instr, buf, labels),
        Code::SWPB_32_memop => Swpb32Memop::encode_block(instr, buf, labels),
        Code::CBZ_32_compbranch => Cbz32Compbranch::encode_block(instr, buf, labels),
        Code::LDRB_32BL_ldst_regoff => Ldrb32blLdstRegoff::encode_block(instr, buf, labels),
        Code::LDRSB_64_ldst_immpre => Ldrsb64LdstImmpre::encode_block(instr, buf, labels),
        Code::SETGMTN_SET_memcms => SetgmtnSetMemcms::encode_block(instr, buf, labels),
        Code::STRB_32_ldst_immpost => Strb32LdstImmpost::encode_block(instr, buf, labels),
        Code::SETMN_SET_memcms => SetmnSetMemcms::encode_block(instr, buf, labels),
        Code::CBGT_64_regs => Cbgt64Regs::encode_block(instr, buf, labels),
        Code::LDAPR_64L_memop => Ldapr64lMemop::encode_block(instr, buf, labels),
        Code::MVN_ORN_32_log_shift => MvnOrn32LogShift::encode_block(instr, buf, labels),
        Code::ASR_ASRV_64_dp_2src => AsrAsrv64Dp2src::encode_block(instr, buf, labels),
        Code::CBNE_32_imm => Cbne32Imm::encode_block(instr, buf, labels),
        Code::AUTDA_64P_dp_1src => Autda64pDp1src::encode_block(instr, buf, labels),
        Code::CPYFP_CPY_memcms => CpyfpCpyMemcms::encode_block(instr, buf, labels),
        Code::CPYPN_CPY_memcms => CpypnCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSCASL_C64_rcwcomswap => RcwscaslC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::CPYFMRTWN_CPY_memcms => CpyfmrtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::ADD_32_addsub_ext => Add32AddsubExt::encode_block(instr, buf, labels),
        Code::SWPPA_128_memop_128 => Swppa128Memop128::encode_block(instr, buf, labels),
        Code::CRC32CB_32C_dp_2src => Crc32cb32cDp2src::encode_block(instr, buf, labels),
        Code::STTP_64_ldstpair_off => Sttp64LdstpairOff::encode_block(instr, buf, labels),
        Code::AUTIASPPCR_64LRR_dp_1src => Autiasppcr64lrrDp1src::encode_block(instr, buf, labels),
        Code::LDSMAXL_32_memop => Ldsmaxl32Memop::encode_block(instr, buf, labels),
        Code::LDSMINALB_32_memop => Ldsminalb32Memop::encode_block(instr, buf, labels),
        Code::LDAXRH_LR32_ldstexclr => LdaxrhLr32Ldstexclr::encode_block(instr, buf, labels),
        Code::LDSMAXA_32_memop => Ldsmaxa32Memop::encode_block(instr, buf, labels),
        Code::LDRSH_64_ldst_pos => Ldrsh64LdstPos::encode_block(instr, buf, labels),
        Code::STILP_32SE_ldiappstilp => Stilp32seLdiappstilp::encode_block(instr, buf, labels),
        Code::CMP_SUBS_32S_addsub_ext => CmpSubs32sAddsubExt::encode_block(instr, buf, labels),
        Code::STTCLRL_LDTCLRL_32_memop_unpriv => SttclrlLdtclrl32MemopUnpriv::encode_block(instr, buf, labels),
        Code::CSNEG_32_condsel => Csneg32Condsel::encode_block(instr, buf, labels),
        Code::CPYFETRN_CPY_memcms => CpyfetrnCpyMemcms::encode_block(instr, buf, labels),
        Code::CASPAL_CP32_comswappr => CaspalCp32Comswappr::encode_block(instr, buf, labels),
        Code::LDRSH_32_ldst_immpre => Ldrsh32LdstImmpre::encode_block(instr, buf, labels),
        Code::AUTIB1716_HI_hints => Autib1716HiHints::encode_block(instr, buf, labels),
        Code::CASPLT_CP64_comswappr_unpriv => CaspltCp64ComswapprUnpriv::encode_block(instr, buf, labels),
        Code::LDTADD_32_memop_unpriv => Ldtadd32MemopUnpriv::encode_block(instr, buf, labels),
        Code::ST64BV_64_memop => St64bv64Memop::encode_block(instr, buf, labels),
        Code::RCWSCASPAL_C64_rcwcomswappr => RcwscaspalC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::STTCLR_LDTCLR_64_memop_unpriv => SttclrLdtclr64MemopUnpriv::encode_block(instr, buf, labels),
        Code::ORR_64_log_imm => Orr64LogImm::encode_block(instr, buf, labels),
        Code::CPYEWTN_CPY_memcms => CpyewtnCpyMemcms::encode_block(instr, buf, labels),
        Code::PACGA_64P_dp_2src => Pacga64pDp2src::encode_block(instr, buf, labels),
        Code::RCWSCLR_64_memop => Rcwsclr64Memop::encode_block(instr, buf, labels),
        Code::LDSETH_32_memop => Ldseth32Memop::encode_block(instr, buf, labels),
        Code::LDPSW_64_ldstpair_pre => Ldpsw64LdstpairPre::encode_block(instr, buf, labels),
        Code::BL_only_branch_imm => BlOnlyBranchImm::encode_block(instr, buf, labels),
        Code::CMN_ADDS_32_addsub_shift => CmnAdds32AddsubShift::encode_block(instr, buf, labels),
        Code::PACIBZ_HI_hints => PacibzHiHints::encode_block(instr, buf, labels),
        Code::STTSET_LDTSET_64_memop_unpriv => SttsetLdtset64MemopUnpriv::encode_block(instr, buf, labels),
        Code::AUTIA171615_64LR_dp_1src => Autia17161564lrDp1src::encode_block(instr, buf, labels),
        Code::BFM_64M_bitfield => Bfm64mBitfield::encode_block(instr, buf, labels),
        Code::SWPTL_32_memop_unpriv => Swptl32MemopUnpriv::encode_block(instr, buf, labels),
        Code::CBGT_32_imm => Cbgt32Imm::encode_block(instr, buf, labels),
        Code::REV64_REV_64_dp_1src => Rev64Rev64Dp1src::encode_block(instr, buf, labels),
        Code::CASL_C64_comswap => CaslC64Comswap::encode_block(instr, buf, labels),
        Code::CBGT_32_regs => Cbgt32Regs::encode_block(instr, buf, labels),
        Code::CMPP_SUBPS_64S_dp_2src => CmppSubps64sDp2src::encode_block(instr, buf, labels),
        Code::RPRFM_R_ldst_regoff => RprfmRLdstRegoff::encode_block(instr, buf, labels),
        Code::SUBS_64_addsub_shift => Subs64AddsubShift::encode_block(instr, buf, labels),
        Code::XPACI_64Z_dp_1src => Xpaci64zDp1src::encode_block(instr, buf, labels),
        Code::RCWSWPPAL_128_memop_128 => Rcwswppal128Memop128::encode_block(instr, buf, labels),
        Code::LDURSH_64_ldst_unscaled => Ldursh64LdstUnscaled::encode_block(instr, buf, labels),
        Code::STURB_32_ldst_unscaled => Sturb32LdstUnscaled::encode_block(instr, buf, labels),
        Code::STADD_LDADD_32_memop => StaddLdadd32Memop::encode_block(instr, buf, labels),
        Code::SWPL_64_memop => Swpl64Memop::encode_block(instr, buf, labels),
        Code::LDTADDAL_64_memop_unpriv => Ldtaddal64MemopUnpriv::encode_block(instr, buf, labels),
        Code::CPYEWN_CPY_memcms => CpyewnCpyMemcms::encode_block(instr, buf, labels),
        Code::CCMN_32_condcmp_imm => Ccmn32CondcmpImm::encode_block(instr, buf, labels),
        Code::ADD_64_addsub_shift => Add64AddsubShift::encode_block(instr, buf, labels),
        Code::LDADDB_32_memop => Ldaddb32Memop::encode_block(instr, buf, labels),
        Code::LDSETL_64_memop => Ldsetl64Memop::encode_block(instr, buf, labels),
        Code::LDADDA_32_memop => Ldadda32Memop::encode_block(instr, buf, labels),
        Code::STP_64_ldstpair_pre => Stp64LdstpairPre::encode_block(instr, buf, labels),
        Code::STLLRH_SL32_ldstord => StllrhSl32Ldstord::encode_block(instr, buf, labels),
        Code::SUB_32_addsub_shift => Sub32AddsubShift::encode_block(instr, buf, labels),
        Code::SXTB_SBFM_64M_bitfield => SxtbSbfm64mBitfield::encode_block(instr, buf, labels),
        Code::CBZ_64_compbranch => Cbz64Compbranch::encode_block(instr, buf, labels),
        Code::LDR_64_ldst_immpre => Ldr64LdstImmpre::encode_block(instr, buf, labels),
        Code::RCWSSWPL_64_memop => Rcwsswpl64Memop::encode_block(instr, buf, labels),
        Code::SWPAL_32_memop => Swpal32Memop::encode_block(instr, buf, labels),
        Code::LDTADDA_64_memop_unpriv => Ldtadda64MemopUnpriv::encode_block(instr, buf, labels),
        Code::BFC_BFM_64M_bitfield => BfcBfm64mBitfield::encode_block(instr, buf, labels),
        Code::BRAB_64P_branch_reg => Brab64pBranchReg::encode_block(instr, buf, labels),
        Code::RBIT_32_dp_1src => Rbit32Dp1src::encode_block(instr, buf, labels),
        Code::LDUMAXALH_32_memop => Ldumaxalh32Memop::encode_block(instr, buf, labels),
        Code::STRB_32_ldst_pos => Strb32LdstPos::encode_block(instr, buf, labels),
        Code::CPYFERTWN_CPY_memcms => CpyfertwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDAPURSB_64_ldapstl_unscaled => Ldapursb64LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::RCWCASA_C64_rcwcomswap => RcwcasaC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::RETAASPPC_only_miscbranch => RetaasppcOnlyMiscbranch::encode_block(instr, buf, labels),
        Code::LDCLRPL_128_memop_128 => Ldclrpl128Memop128::encode_block(instr, buf, labels),
        Code::STRB_32BL_ldst_regoff => Strb32blLdstRegoff::encode_block(instr, buf, labels),
        Code::UMULH_64_dp_3src => Umulh64Dp3src::encode_block(instr, buf, labels),
        Code::RCWSSWPAL_64_memop => Rcwsswpal64Memop::encode_block(instr, buf, labels),
        Code::STCLRLB_LDCLRLB_32_memop => StclrlbLdclrlb32Memop::encode_block(instr, buf, labels),
        Code::CPYFM_CPY_memcms => CpyfmCpyMemcms::encode_block(instr, buf, labels),
        Code::SETGPTN_SET_memcms => SetgptnSetMemcms::encode_block(instr, buf, labels),
        Code::SBCS_32_addsub_carry => Sbcs32AddsubCarry::encode_block(instr, buf, labels),
        Code::CMP_SUBS_64S_addsub_imm => CmpSubs64sAddsubImm::encode_block(instr, buf, labels),
        Code::LDSETPAL_128_memop_128 => Ldsetpal128Memop128::encode_block(instr, buf, labels),
        Code::REV16_32_dp_1src => Rev1632Dp1src::encode_block(instr, buf, labels),
        Code::LDTADDA_32_memop_unpriv => Ldtadda32MemopUnpriv::encode_block(instr, buf, labels),
        Code::CPYFPWTWN_CPY_memcms => CpyfpwtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::STLR_64S_ldapstl_writeback => Stlr64sLdapstlWriteback::encode_block(instr, buf, labels),
        Code::STR_32_ldst_immpre => Str32LdstImmpre::encode_block(instr, buf, labels),
        Code::CASPT_CP64_comswappr_unpriv => CasptCp64ComswapprUnpriv::encode_block(instr, buf, labels),
        Code::STADDH_LDADDH_32_memop => StaddhLdaddh32Memop::encode_block(instr, buf, labels),
        Code::CBBEQ_8_regs => Cbbeq8Regs::encode_block(instr, buf, labels),
        Code::UMAX_64_dp_2src => Umax64Dp2src::encode_block(instr, buf, labels),
        Code::STR_64_ldst_immpost => Str64LdstImmpost::encode_block(instr, buf, labels),
        Code::LDEORB_32_memop => Ldeorb32Memop::encode_block(instr, buf, labels),
        Code::STRB_32_ldst_immpre => Strb32LdstImmpre::encode_block(instr, buf, labels),
        Code::CINC_CSINC_32_condsel => CincCsinc32Condsel::encode_block(instr, buf, labels),
        Code::CPYERTWN_CPY_memcms => CpyertwnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDGM_64bulk_ldsttags => Ldgm64bulkLdsttags::encode_block(instr, buf, labels),
        Code::LDUMAXA_64_memop => Ldumaxa64Memop::encode_block(instr, buf, labels),
        Code::BC_only_condbranch => BcOnlyCondbranch::encode_block(instr, buf, labels),
        Code::SBFX_SBFM_32M_bitfield => SbfxSbfm32mBitfield::encode_block(instr, buf, labels),
        Code::SETGE_SET_memcms => SetgeSetMemcms::encode_block(instr, buf, labels),
        Code::CBLO_CBHI_32_regs => CbloCbhi32Regs::encode_block(instr, buf, labels),
        Code::CPYMRTRN_CPY_memcms => CpymrtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSETPL_128_memop_128 => Rcwsetpl128Memop128::encode_block(instr, buf, labels),
        Code::SWP_64_memop => Swp64Memop::encode_block(instr, buf, labels),
        Code::STP_64_ldstpair_off => Stp64LdstpairOff::encode_block(instr, buf, labels),
        Code::LSRV_64_dp_2src => Lsrv64Dp2src::encode_block(instr, buf, labels),
        Code::CPYMWTWN_CPY_memcms => CpymwtwnCpyMemcms::encode_block(instr, buf, labels),
        Code::RCWSCASAL_C64_rcwcomswap => RcwscasalC64Rcwcomswap::encode_block(instr, buf, labels),
        Code::STSMINL_LDSMINL_64_memop => StsminlLdsminl64Memop::encode_block(instr, buf, labels),
        Code::CBLO_32_imm => Cblo32Imm::encode_block(instr, buf, labels),
        Code::STLXP_SP32_ldstexclp => StlxpSp32Ldstexclp::encode_block(instr, buf, labels),
        Code::LDIAPP_64LS_ldiappstilp => Ldiapp64lsLdiappstilp::encode_block(instr, buf, labels),
        Code::STP_32_ldstpair_pre => Stp32LdstpairPre::encode_block(instr, buf, labels),
        Code::PRFM_P_ldst_pos => PrfmPLdstPos::encode_block(instr, buf, labels),
        Code::STTSET_LDTSET_32_memop_unpriv => SttsetLdtset32MemopUnpriv::encode_block(instr, buf, labels),
        Code::ADD_64_addsub_imm => Add64AddsubImm::encode_block(instr, buf, labels),
        Code::TST_ANDS_32S_log_imm => TstAnds32sLogImm::encode_block(instr, buf, labels),
        Code::LDAPR_32L_memop => Ldapr32lMemop::encode_block(instr, buf, labels),
        Code::MOV_MOVN_64_movewide => MovMovn64Movewide::encode_block(instr, buf, labels),
        Code::SWPAH_32_memop => Swpah32Memop::encode_block(instr, buf, labels),
        Code::SMAX_64_dp_2src => Smax64Dp2src::encode_block(instr, buf, labels),
        Code::LDCLRAB_32_memop => Ldclrab32Memop::encode_block(instr, buf, labels),
        Code::LDCLR_32_memop => Ldclr32Memop::encode_block(instr, buf, labels),
        Code::CPYFPWT_CPY_memcms => CpyfpwtCpyMemcms::encode_block(instr, buf, labels),
        Code::STLUR_32_ldapstl_unscaled => Stlur32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::LDUMINA_32_memop => Ldumina32Memop::encode_block(instr, buf, labels),
        Code::SETPN_SET_memcms => SetpnSetMemcms::encode_block(instr, buf, labels),
        Code::CASB_C32_comswap => CasbC32Comswap::encode_block(instr, buf, labels),
        Code::CBGE_CBGT_32_imm => CbgeCbgt32Imm::encode_block(instr, buf, labels),
        Code::RCWSCASPL_C64_rcwcomswappr => RcwscasplC64Rcwcomswappr::encode_block(instr, buf, labels),
        Code::MADDPT_64A_dp_3src => Maddpt64aDp3src::encode_block(instr, buf, labels),
        Code::STLR_32S_ldapstl_writeback => Stlr32sLdapstlWriteback::encode_block(instr, buf, labels),
        Code::RCWSETAL_64_memop => Rcwsetal64Memop::encode_block(instr, buf, labels),
        Code::LD64B_64L_memop => Ld64b64lMemop::encode_block(instr, buf, labels),
        Code::ADD_32_addsub_shift => Add32AddsubShift::encode_block(instr, buf, labels),
        Code::RCWSSETL_64_memop => Rcwssetl64Memop::encode_block(instr, buf, labels),
        Code::SETEN_SET_memcms => SetenSetMemcms::encode_block(instr, buf, labels),
        Code::STUMAX_LDUMAX_32_memop => StumaxLdumax32Memop::encode_block(instr, buf, labels),
        Code::CPYFMWN_CPY_memcms => CpyfmwnCpyMemcms::encode_block(instr, buf, labels),
        Code::SBFX_SBFM_64M_bitfield => SbfxSbfm64mBitfield::encode_block(instr, buf, labels),
        Code::LDEORALB_32_memop => Ldeoralb32Memop::encode_block(instr, buf, labels),
        Code::STEORL_LDEORL_64_memop => SteorlLdeorl64Memop::encode_block(instr, buf, labels),
        Code::TBNZ_only_testbranch => TbnzOnlyTestbranch::encode_block(instr, buf, labels),
        Code::LSR_UBFM_64M_bitfield => LsrUbfm64mBitfield::encode_block(instr, buf, labels),
        Code::ROR_EXTR_64_extract => RorExtr64Extract::encode_block(instr, buf, labels),
        Code::CTZ_32_dp_1src => Ctz32Dp1src::encode_block(instr, buf, labels),
        Code::LDSETPA_128_memop_128 => Ldsetpa128Memop128::encode_block(instr, buf, labels),
        Code::AUTIASP_HI_hints => AutiaspHiHints::encode_block(instr, buf, labels),
        Code::LDADDLB_32_memop => Ldaddlb32Memop::encode_block(instr, buf, labels),
        Code::LDXP_LP32_ldstexclp => LdxpLp32Ldstexclp::encode_block(instr, buf, labels),
        Code::LSLV_64_dp_2src => Lslv64Dp2src::encode_block(instr, buf, labels),
        Code::PACIBSPPC_64LR_dp_1src => Pacibsppc64lrDp1src::encode_block(instr, buf, labels),
        Code::SETE_SET_memcms => SeteSetMemcms::encode_block(instr, buf, labels),
        Code::STLP_64_ldiappstilp => Stlp64Ldiappstilp::encode_block(instr, buf, labels),
        Code::CBBLE_CBBGE_8_regs => CbbleCbbge8Regs::encode_block(instr, buf, labels),
        Code::MNEG_MSUB_64A_dp_3src => MnegMsub64aDp3src::encode_block(instr, buf, labels),
        Code::CASPALT_CP64_comswappr_unpriv => CaspaltCp64ComswapprUnpriv::encode_block(instr, buf, labels),
        Code::LDTCLRL_64_memop_unpriv => Ldtclrl64MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDSMAXAL_64_memop => Ldsmaxal64Memop::encode_block(instr, buf, labels),
        Code::LDUMIN_64_memop => Ldumin64Memop::encode_block(instr, buf, labels),
        Code::LDSETAH_32_memop => Ldsetah32Memop::encode_block(instr, buf, labels),
        Code::GCSSTR_64_ldst_gcs => Gcsstr64LdstGcs::encode_block(instr, buf, labels),
        Code::SMIN_64_dp_2src => Smin64Dp2src::encode_block(instr, buf, labels),
        Code::LDAPRB_32L_memop => Ldaprb32lMemop::encode_block(instr, buf, labels),
        Code::LDCLRAL_64_memop => Ldclral64Memop::encode_block(instr, buf, labels),
        Code::LDURB_32_ldst_unscaled => Ldurb32LdstUnscaled::encode_block(instr, buf, labels),
        Code::NEGS_SUBS_64_addsub_shift => NegsSubs64AddsubShift::encode_block(instr, buf, labels),
        Code::LDTXR_LR32_ldstexclr_unpriv => LdtxrLr32LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::SWPPL_128_memop_128 => Swppl128Memop128::encode_block(instr, buf, labels),
        Code::LDUMAXH_32_memop => Ldumaxh32Memop::encode_block(instr, buf, labels),
        Code::CPYERTN_CPY_memcms => CpyertnCpyMemcms::encode_block(instr, buf, labels),
        Code::CBHLT_CBHGT_16_regs => CbhltCbhgt16Regs::encode_block(instr, buf, labels),
        Code::LDRB_32_ldst_pos => Ldrb32LdstPos::encode_block(instr, buf, labels),
        Code::LDLARH_LR32_ldstord => LdlarhLr32Ldstord::encode_block(instr, buf, labels),
        Code::SETGET_SET_memcms => SetgetSetMemcms::encode_block(instr, buf, labels),
        Code::LDTCLR_32_memop_unpriv => Ldtclr32MemopUnpriv::encode_block(instr, buf, labels),
        Code::CPYFMWTRN_CPY_memcms => CpyfmwtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDCLR_64_memop => Ldclr64Memop::encode_block(instr, buf, labels),
        Code::UMADDL_64WA_dp_3src => Umaddl64waDp3src::encode_block(instr, buf, labels),
        Code::LDPSW_64_ldstpair_post => Ldpsw64LdstpairPost::encode_block(instr, buf, labels),
        Code::ORR_32_log_shift => Orr32LogShift::encode_block(instr, buf, labels),
        Code::CAS_C32_comswap => CasC32Comswap::encode_block(instr, buf, labels),
        Code::SXTH_SBFM_64M_bitfield => SxthSbfm64mBitfield::encode_block(instr, buf, labels),
        Code::LDTSETAL_32_memop_unpriv => Ldtsetal32MemopUnpriv::encode_block(instr, buf, labels),
        Code::MSUB_64A_dp_3src => Msub64aDp3src::encode_block(instr, buf, labels),
        Code::SETGM_SET_memcms => SetgmSetMemcms::encode_block(instr, buf, labels),
        Code::LDTP_64_ldstpair_pre => Ldtp64LdstpairPre::encode_block(instr, buf, labels),
        Code::STZ2G_64Spre_ldsttags => Stz2g64spreLdsttags::encode_block(instr, buf, labels),
        Code::RCWSSWPPA_128_memop_128 => Rcwsswppa128Memop128::encode_block(instr, buf, labels),
        Code::STLLR_SL32_ldstord => StllrSl32Ldstord::encode_block(instr, buf, labels),
        Code::CPYFPRTN_CPY_memcms => CpyfprtnCpyMemcms::encode_block(instr, buf, labels),
        Code::ERETAB_64E_branch_reg => Eretab64eBranchReg::encode_block(instr, buf, labels),
        Code::LSR_LSRV_64_dp_2src => LsrLsrv64Dp2src::encode_block(instr, buf, labels),
        Code::LDSMINLB_32_memop => Ldsminlb32Memop::encode_block(instr, buf, labels),
        Code::STTCLR_LDTCLR_32_memop_unpriv => SttclrLdtclr32MemopUnpriv::encode_block(instr, buf, labels),
        Code::CPYMN_CPY_memcms => CpymnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDEORL_32_memop => Ldeorl32Memop::encode_block(instr, buf, labels),
        Code::LDATXR_LR32_ldstexclr_unpriv => LdatxrLr32LdstexclrUnpriv::encode_block(instr, buf, labels),
        Code::ROR_EXTR_32_extract => RorExtr32Extract::encode_block(instr, buf, labels),
        Code::SETPT_SET_memcms => SetptSetMemcms::encode_block(instr, buf, labels),
        Code::STEORLB_LDEORLB_32_memop => SteorlbLdeorlb32Memop::encode_block(instr, buf, labels),
        Code::SWPALH_32_memop => Swpalh32Memop::encode_block(instr, buf, labels),
        Code::LDSETLH_32_memop => Ldsetlh32Memop::encode_block(instr, buf, labels),
        Code::CPYMWN_CPY_memcms => CpymwnCpyMemcms::encode_block(instr, buf, labels),
        Code::STSMINLH_LDSMINLH_32_memop => StsminlhLdsminlh32Memop::encode_block(instr, buf, labels),
        Code::LDAPURH_32_ldapstl_unscaled => Ldapurh32LdapstlUnscaled::encode_block(instr, buf, labels),
        Code::EXTR_32_extract => Extr32Extract::encode_block(instr, buf, labels),
        Code::LDURH_32_ldst_unscaled => Ldurh32LdstUnscaled::encode_block(instr, buf, labels),
        Code::CASAH_C32_comswap => CasahC32Comswap::encode_block(instr, buf, labels),
        Code::CSNEG_64_condsel => Csneg64Condsel::encode_block(instr, buf, labels),
        Code::SBFIZ_SBFM_64M_bitfield => SbfizSbfm64mBitfield::encode_block(instr, buf, labels),
        Code::STLR_SL32_ldstord => StlrSl32Ldstord::encode_block(instr, buf, labels),
        Code::STTADDL_LDTADDL_32_memop_unpriv => SttaddlLdtaddl32MemopUnpriv::encode_block(instr, buf, labels),
        Code::LDLAR_LR32_ldstord => LdlarLr32Ldstord::encode_block(instr, buf, labels),
        Code::SBFIZ_SBFM_32M_bitfield => SbfizSbfm32mBitfield::encode_block(instr, buf, labels),
        Code::STTRH_32_ldst_unpriv => Sttrh32LdstUnpriv::encode_block(instr, buf, labels),
        Code::SETGMN_SET_memcms => SetgmnSetMemcms::encode_block(instr, buf, labels),
        Code::MUL_MADD_32A_dp_3src => MulMadd32aDp3src::encode_block(instr, buf, labels),
        Code::GMI_64G_dp_2src => Gmi64gDp2src::encode_block(instr, buf, labels),
        Code::CBBHS_8_regs => Cbbhs8Regs::encode_block(instr, buf, labels),
        Code::MOVK_32_movewide => Movk32Movewide::encode_block(instr, buf, labels),
        Code::LDADD_32_memop => Ldadd32Memop::encode_block(instr, buf, labels),
        Code::BR_64_branch_reg => Br64BranchReg::encode_block(instr, buf, labels),
        Code::STGP_64_ldstpair_pre => Stgp64LdstpairPre::encode_block(instr, buf, labels),
        Code::LDSMAXAL_32_memop => Ldsmaxal32Memop::encode_block(instr, buf, labels),
        Code::AUTIA1716_HI_hints => Autia1716HiHints::encode_block(instr, buf, labels),
        Code::LDUMINH_32_memop => Lduminh32Memop::encode_block(instr, buf, labels),
        Code::UMSUBL_64WA_dp_3src => Umsubl64waDp3src::encode_block(instr, buf, labels),
        Code::NEGS_SUBS_32_addsub_shift => NegsSubs32AddsubShift::encode_block(instr, buf, labels),
        Code::UBFX_UBFM_32M_bitfield => UbfxUbfm32mBitfield::encode_block(instr, buf, labels),
        Code::CPYMTRN_CPY_memcms => CpymtrnCpyMemcms::encode_block(instr, buf, labels),
        Code::LDTRSW_64_ldst_unpriv => Ldtrsw64LdstUnpriv::encode_block(instr, buf, labels),
        Code::RCWSSWPP_128_memop_128 => Rcwsswpp128Memop128::encode_block(instr, buf, labels),
    }
}