bad64 0.12.0

Rust bindings for Binja's arm64 disassembler
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
use core::fmt;

use bad64_sys::*;

use cstr_core::CStr;
use num_traits::ToPrimitive;

// pub const (Operation_ARM64_(\w+)): Operation = \d+;
//     $2 = $1 as u32,

/// An instruction operation
#[derive(Clone, Copy, Debug, Hash, Eq, PartialEq, FromPrimitive, ToPrimitive)]
#[repr(u32)]
#[allow(non_camel_case_types)]
pub enum Op {
    ABS = Operation_ARM64_ABS as u32,
    ADC = Operation_ARM64_ADC as u32,
    ADCLB = Operation_ARM64_ADCLB as u32,
    ADCLT = Operation_ARM64_ADCLT as u32,
    ADCS = Operation_ARM64_ADCS as u32,
    ADD = Operation_ARM64_ADD as u32,
    ADDG = Operation_ARM64_ADDG as u32,
    ADDHA = Operation_ARM64_ADDHA as u32,
    ADDHN = Operation_ARM64_ADDHN as u32,
    ADDHN2 = Operation_ARM64_ADDHN2 as u32,
    ADDHNB = Operation_ARM64_ADDHNB as u32,
    ADDHNT = Operation_ARM64_ADDHNT as u32,
    ADDP = Operation_ARM64_ADDP as u32,
    ADDPL = Operation_ARM64_ADDPL as u32,
    ADDPT = Operation_ARM64_ADDPT as u32,
    ADDQP = Operation_ARM64_ADDQP as u32,
    ADDQV = Operation_ARM64_ADDQV as u32,
    ADDS = Operation_ARM64_ADDS as u32,
    ADDSPL = Operation_ARM64_ADDSPL as u32,
    ADDSUBP = Operation_ARM64_ADDSUBP as u32,
    ADDSVL = Operation_ARM64_ADDSVL as u32,
    ADDV = Operation_ARM64_ADDV as u32,
    ADDVA = Operation_ARM64_ADDVA as u32,
    ADDVL = Operation_ARM64_ADDVL as u32,
    ADR = Operation_ARM64_ADR as u32,
    ADRP = Operation_ARM64_ADRP as u32,
    AESD = Operation_ARM64_AESD as u32,
    AESDIMC = Operation_ARM64_AESDIMC as u32,
    AESE = Operation_ARM64_AESE as u32,
    AESEMC = Operation_ARM64_AESEMC as u32,
    AESIMC = Operation_ARM64_AESIMC as u32,
    AESMC = Operation_ARM64_AESMC as u32,
    AND = Operation_ARM64_AND as u32,
    ANDQV = Operation_ARM64_ANDQV as u32,
    ANDS = Operation_ARM64_ANDS as u32,
    ANDV = Operation_ARM64_ANDV as u32,
    APAS = Operation_ARM64_APAS as u32,
    ASR = Operation_ARM64_ASR as u32,
    ASRD = Operation_ARM64_ASRD as u32,
    ASRR = Operation_ARM64_ASRR as u32,
    ASRV = Operation_ARM64_ASRV as u32,
    AT = Operation_ARM64_AT as u32,
    AUTDA = Operation_ARM64_AUTDA as u32,
    AUTDB = Operation_ARM64_AUTDB as u32,
    AUTDZA = Operation_ARM64_AUTDZA as u32,
    AUTDZB = Operation_ARM64_AUTDZB as u32,
    AUTIA = Operation_ARM64_AUTIA as u32,
    AUTIA1716 = Operation_ARM64_AUTIA1716 as u32,
    AUTIA171615 = Operation_ARM64_AUTIA171615 as u32,
    AUTIASP = Operation_ARM64_AUTIASP as u32,
    AUTIASPPC = Operation_ARM64_AUTIASPPC as u32,
    AUTIASPPCR = Operation_ARM64_AUTIASPPCR as u32,
    AUTIAZ = Operation_ARM64_AUTIAZ as u32,
    AUTIB = Operation_ARM64_AUTIB as u32,
    AUTIB1716 = Operation_ARM64_AUTIB1716 as u32,
    AUTIB171615 = Operation_ARM64_AUTIB171615 as u32,
    AUTIBSP = Operation_ARM64_AUTIBSP as u32,
    AUTIBSPPC = Operation_ARM64_AUTIBSPPC as u32,
    AUTIBSPPCR = Operation_ARM64_AUTIBSPPCR as u32,
    AUTIBZ = Operation_ARM64_AUTIBZ as u32,
    AUTIZA = Operation_ARM64_AUTIZA as u32,
    AUTIZB = Operation_ARM64_AUTIZB as u32,
    AXFLAG = Operation_ARM64_AXFLAG as u32,
    B = Operation_ARM64_B as u32,
    BC = Operation_ARM64_BC as u32,
    BCAX = Operation_ARM64_BCAX as u32,
    BDEP = Operation_ARM64_BDEP as u32,
    BEXT = Operation_ARM64_BEXT as u32,
    BF1CVT = Operation_ARM64_BF1CVT as u32,
    BF1CVTL = Operation_ARM64_BF1CVTL as u32,
    BF1CVTL2 = Operation_ARM64_BF1CVTL2 as u32,
    BF1CVTLT = Operation_ARM64_BF1CVTLT as u32,
    BF2CVT = Operation_ARM64_BF2CVT as u32,
    BF2CVTL = Operation_ARM64_BF2CVTL as u32,
    BF2CVTL2 = Operation_ARM64_BF2CVTL2 as u32,
    BF2CVTLT = Operation_ARM64_BF2CVTLT as u32,
    BFADD = Operation_ARM64_BFADD as u32,
    BFC = Operation_ARM64_BFC as u32,
    BFCLAMP = Operation_ARM64_BFCLAMP as u32,
    BFCVT = Operation_ARM64_BFCVT as u32,
    BFCVTN = Operation_ARM64_BFCVTN as u32,
    BFCVTN2 = Operation_ARM64_BFCVTN2 as u32,
    BFCVTNT = Operation_ARM64_BFCVTNT as u32,
    BFDOT = Operation_ARM64_BFDOT as u32,
    BFI = Operation_ARM64_BFI as u32,
    BFM = Operation_ARM64_BFM as u32,
    BFMAX = Operation_ARM64_BFMAX as u32,
    BFMAXNM = Operation_ARM64_BFMAXNM as u32,
    BFMIN = Operation_ARM64_BFMIN as u32,
    BFMINNM = Operation_ARM64_BFMINNM as u32,
    BFMLA = Operation_ARM64_BFMLA as u32,
    BFMLAL = Operation_ARM64_BFMLAL as u32,
    BFMLALB = Operation_ARM64_BFMLALB as u32,
    BFMLALT = Operation_ARM64_BFMLALT as u32,
    BFMLS = Operation_ARM64_BFMLS as u32,
    BFMLSL = Operation_ARM64_BFMLSL as u32,
    BFMLSLB = Operation_ARM64_BFMLSLB as u32,
    BFMLSLT = Operation_ARM64_BFMLSLT as u32,
    BFMMLA = Operation_ARM64_BFMMLA as u32,
    BFMOP4A = Operation_ARM64_BFMOP4A as u32,
    BFMOP4S = Operation_ARM64_BFMOP4S as u32,
    BFMOPA = Operation_ARM64_BFMOPA as u32,
    BFMOPS = Operation_ARM64_BFMOPS as u32,
    BFMUL = Operation_ARM64_BFMUL as u32,
    BFSCALE = Operation_ARM64_BFSCALE as u32,
    BFSUB = Operation_ARM64_BFSUB as u32,
    BFTMOPA = Operation_ARM64_BFTMOPA as u32,
    BFVDOT = Operation_ARM64_BFVDOT as u32,
    BFXIL = Operation_ARM64_BFXIL as u32,
    BGRP = Operation_ARM64_BGRP as u32,
    BIC = Operation_ARM64_BIC as u32,
    BICS = Operation_ARM64_BICS as u32,
    BIF = Operation_ARM64_BIF as u32,
    BIT = Operation_ARM64_BIT as u32,
    BL = Operation_ARM64_BL as u32,
    BLR = Operation_ARM64_BLR as u32,
    BLRAA = Operation_ARM64_BLRAA as u32,
    BLRAAZ = Operation_ARM64_BLRAAZ as u32,
    BLRAB = Operation_ARM64_BLRAB as u32,
    BLRABZ = Operation_ARM64_BLRABZ as u32,
    BMOPA = Operation_ARM64_BMOPA as u32,
    BMOPS = Operation_ARM64_BMOPS as u32,
    BR = Operation_ARM64_BR as u32,
    BRAA = Operation_ARM64_BRAA as u32,
    BRAAZ = Operation_ARM64_BRAAZ as u32,
    BRAB = Operation_ARM64_BRAB as u32,
    BRABZ = Operation_ARM64_BRABZ as u32,
    BRB = Operation_ARM64_BRB as u32,
    BRK = Operation_ARM64_BRK as u32,
    BRKA = Operation_ARM64_BRKA as u32,
    BRKAS = Operation_ARM64_BRKAS as u32,
    BRKB = Operation_ARM64_BRKB as u32,
    BRKBS = Operation_ARM64_BRKBS as u32,
    BRKN = Operation_ARM64_BRKN as u32,
    BRKNS = Operation_ARM64_BRKNS as u32,
    BRKPA = Operation_ARM64_BRKPA as u32,
    BRKPAS = Operation_ARM64_BRKPAS as u32,
    BRKPB = Operation_ARM64_BRKPB as u32,
    BRKPBS = Operation_ARM64_BRKPBS as u32,
    BSL = Operation_ARM64_BSL as u32,
    BSL1N = Operation_ARM64_BSL1N as u32,
    BSL2N = Operation_ARM64_BSL2N as u32,
    BTI = Operation_ARM64_BTI as u32,
    B_AL = Operation_ARM64_B_AL as u32,
    B_CC = Operation_ARM64_B_CC as u32,
    B_CS = Operation_ARM64_B_CS as u32,
    B_EQ = Operation_ARM64_B_EQ as u32,
    B_GE = Operation_ARM64_B_GE as u32,
    B_GT = Operation_ARM64_B_GT as u32,
    B_HI = Operation_ARM64_B_HI as u32,
    B_LE = Operation_ARM64_B_LE as u32,
    B_LS = Operation_ARM64_B_LS as u32,
    B_LT = Operation_ARM64_B_LT as u32,
    B_MI = Operation_ARM64_B_MI as u32,
    B_NE = Operation_ARM64_B_NE as u32,
    B_NV = Operation_ARM64_B_NV as u32,
    B_PL = Operation_ARM64_B_PL as u32,
    B_VC = Operation_ARM64_B_VC as u32,
    B_VS = Operation_ARM64_B_VS as u32,
    CADD = Operation_ARM64_CADD as u32,
    CAS = Operation_ARM64_CAS as u32,
    CASA = Operation_ARM64_CASA as u32,
    CASAB = Operation_ARM64_CASAB as u32,
    CASAH = Operation_ARM64_CASAH as u32,
    CASAL = Operation_ARM64_CASAL as u32,
    CASALB = Operation_ARM64_CASALB as u32,
    CASALH = Operation_ARM64_CASALH as u32,
    CASALT = Operation_ARM64_CASALT as u32,
    CASAT = Operation_ARM64_CASAT as u32,
    CASB = Operation_ARM64_CASB as u32,
    CASH = Operation_ARM64_CASH as u32,
    CASL = Operation_ARM64_CASL as u32,
    CASLB = Operation_ARM64_CASLB as u32,
    CASLH = Operation_ARM64_CASLH as u32,
    CASLT = Operation_ARM64_CASLT as u32,
    CASP = Operation_ARM64_CASP as u32,
    CASPA = Operation_ARM64_CASPA as u32,
    CASPAL = Operation_ARM64_CASPAL as u32,
    CASPALT = Operation_ARM64_CASPALT as u32,
    CASPAT = Operation_ARM64_CASPAT as u32,
    CASPL = Operation_ARM64_CASPL as u32,
    CASPLT = Operation_ARM64_CASPLT as u32,
    CASPT = Operation_ARM64_CASPT as u32,
    CAST = Operation_ARM64_CAST as u32,
    CBBEQ = Operation_ARM64_CBBEQ as u32,
    CBBGE = Operation_ARM64_CBBGE as u32,
    CBBGT = Operation_ARM64_CBBGT as u32,
    CBBHI = Operation_ARM64_CBBHI as u32,
    CBBHS = Operation_ARM64_CBBHS as u32,
    CBBLE = Operation_ARM64_CBBLE as u32,
    CBBLO = Operation_ARM64_CBBLO as u32,
    CBBLS = Operation_ARM64_CBBLS as u32,
    CBBLT = Operation_ARM64_CBBLT as u32,
    CBBNE = Operation_ARM64_CBBNE as u32,
    CBEQ = Operation_ARM64_CBEQ as u32,
    CBGE = Operation_ARM64_CBGE as u32,
    CBGT = Operation_ARM64_CBGT as u32,
    CBHEQ = Operation_ARM64_CBHEQ as u32,
    CBHGE = Operation_ARM64_CBHGE as u32,
    CBHGT = Operation_ARM64_CBHGT as u32,
    CBHHI = Operation_ARM64_CBHHI as u32,
    CBHHS = Operation_ARM64_CBHHS as u32,
    CBHI = Operation_ARM64_CBHI as u32,
    CBHLE = Operation_ARM64_CBHLE as u32,
    CBHLO = Operation_ARM64_CBHLO as u32,
    CBHLS = Operation_ARM64_CBHLS as u32,
    CBHLT = Operation_ARM64_CBHLT as u32,
    CBHNE = Operation_ARM64_CBHNE as u32,
    CBHS = Operation_ARM64_CBHS as u32,
    CBLE = Operation_ARM64_CBLE as u32,
    CBLO = Operation_ARM64_CBLO as u32,
    CBLS = Operation_ARM64_CBLS as u32,
    CBLT = Operation_ARM64_CBLT as u32,
    CBNE = Operation_ARM64_CBNE as u32,
    CBNZ = Operation_ARM64_CBNZ as u32,
    CBZ = Operation_ARM64_CBZ as u32,
    CCMN = Operation_ARM64_CCMN as u32,
    CCMP = Operation_ARM64_CCMP as u32,
    CDOT = Operation_ARM64_CDOT as u32,
    CFINV = Operation_ARM64_CFINV as u32,
    CFP = Operation_ARM64_CFP as u32,
    CHKFEAT = Operation_ARM64_CHKFEAT as u32,
    CINC = Operation_ARM64_CINC as u32,
    CINV = Operation_ARM64_CINV as u32,
    CLASTA = Operation_ARM64_CLASTA as u32,
    CLASTB = Operation_ARM64_CLASTB as u32,
    CLRBHB = Operation_ARM64_CLRBHB as u32,
    CLREX = Operation_ARM64_CLREX as u32,
    CLS = Operation_ARM64_CLS as u32,
    CLZ = Operation_ARM64_CLZ as u32,
    CMEQ = Operation_ARM64_CMEQ as u32,
    CMGE = Operation_ARM64_CMGE as u32,
    CMGT = Operation_ARM64_CMGT as u32,
    CMHI = Operation_ARM64_CMHI as u32,
    CMHS = Operation_ARM64_CMHS as u32,
    CMLA = Operation_ARM64_CMLA as u32,
    CMLE = Operation_ARM64_CMLE as u32,
    CMLT = Operation_ARM64_CMLT as u32,
    CMN = Operation_ARM64_CMN as u32,
    CMP = Operation_ARM64_CMP as u32,
    CMPEQ = Operation_ARM64_CMPEQ as u32,
    CMPGE = Operation_ARM64_CMPGE as u32,
    CMPGT = Operation_ARM64_CMPGT as u32,
    CMPHI = Operation_ARM64_CMPHI as u32,
    CMPHS = Operation_ARM64_CMPHS as u32,
    CMPLE = Operation_ARM64_CMPLE as u32,
    CMPLO = Operation_ARM64_CMPLO as u32,
    CMPLS = Operation_ARM64_CMPLS as u32,
    CMPLT = Operation_ARM64_CMPLT as u32,
    CMPNE = Operation_ARM64_CMPNE as u32,
    CMPP = Operation_ARM64_CMPP as u32,
    CMTST = Operation_ARM64_CMTST as u32,
    CNEG = Operation_ARM64_CNEG as u32,
    CNOT = Operation_ARM64_CNOT as u32,
    CNT = Operation_ARM64_CNT as u32,
    CNTB = Operation_ARM64_CNTB as u32,
    CNTD = Operation_ARM64_CNTD as u32,
    CNTH = Operation_ARM64_CNTH as u32,
    CNTP = Operation_ARM64_CNTP as u32,
    CNTW = Operation_ARM64_CNTW as u32,
    COMPACT = Operation_ARM64_COMPACT as u32,
    COSP = Operation_ARM64_COSP as u32,
    CPP = Operation_ARM64_CPP as u32,
    CPY = Operation_ARM64_CPY as u32,
    CPYE = Operation_ARM64_CPYE as u32,
    CPYEN = Operation_ARM64_CPYEN as u32,
    CPYERN = Operation_ARM64_CPYERN as u32,
    CPYERT = Operation_ARM64_CPYERT as u32,
    CPYERTN = Operation_ARM64_CPYERTN as u32,
    CPYERTRN = Operation_ARM64_CPYERTRN as u32,
    CPYERTWN = Operation_ARM64_CPYERTWN as u32,
    CPYET = Operation_ARM64_CPYET as u32,
    CPYETN = Operation_ARM64_CPYETN as u32,
    CPYETRN = Operation_ARM64_CPYETRN as u32,
    CPYETWN = Operation_ARM64_CPYETWN as u32,
    CPYEWN = Operation_ARM64_CPYEWN as u32,
    CPYEWT = Operation_ARM64_CPYEWT as u32,
    CPYEWTN = Operation_ARM64_CPYEWTN as u32,
    CPYEWTRN = Operation_ARM64_CPYEWTRN as u32,
    CPYEWTWN = Operation_ARM64_CPYEWTWN as u32,
    CPYFE = Operation_ARM64_CPYFE as u32,
    CPYFEN = Operation_ARM64_CPYFEN as u32,
    CPYFERN = Operation_ARM64_CPYFERN as u32,
    CPYFERT = Operation_ARM64_CPYFERT as u32,
    CPYFERTN = Operation_ARM64_CPYFERTN as u32,
    CPYFERTRN = Operation_ARM64_CPYFERTRN as u32,
    CPYFERTWN = Operation_ARM64_CPYFERTWN as u32,
    CPYFET = Operation_ARM64_CPYFET as u32,
    CPYFETN = Operation_ARM64_CPYFETN as u32,
    CPYFETRN = Operation_ARM64_CPYFETRN as u32,
    CPYFETWN = Operation_ARM64_CPYFETWN as u32,
    CPYFEWN = Operation_ARM64_CPYFEWN as u32,
    CPYFEWT = Operation_ARM64_CPYFEWT as u32,
    CPYFEWTN = Operation_ARM64_CPYFEWTN as u32,
    CPYFEWTRN = Operation_ARM64_CPYFEWTRN as u32,
    CPYFEWTWN = Operation_ARM64_CPYFEWTWN as u32,
    CPYFM = Operation_ARM64_CPYFM as u32,
    CPYFMN = Operation_ARM64_CPYFMN as u32,
    CPYFMRN = Operation_ARM64_CPYFMRN as u32,
    CPYFMRT = Operation_ARM64_CPYFMRT as u32,
    CPYFMRTN = Operation_ARM64_CPYFMRTN as u32,
    CPYFMRTRN = Operation_ARM64_CPYFMRTRN as u32,
    CPYFMRTWN = Operation_ARM64_CPYFMRTWN as u32,
    CPYFMT = Operation_ARM64_CPYFMT as u32,
    CPYFMTN = Operation_ARM64_CPYFMTN as u32,
    CPYFMTRN = Operation_ARM64_CPYFMTRN as u32,
    CPYFMTWN = Operation_ARM64_CPYFMTWN as u32,
    CPYFMWN = Operation_ARM64_CPYFMWN as u32,
    CPYFMWT = Operation_ARM64_CPYFMWT as u32,
    CPYFMWTN = Operation_ARM64_CPYFMWTN as u32,
    CPYFMWTRN = Operation_ARM64_CPYFMWTRN as u32,
    CPYFMWTWN = Operation_ARM64_CPYFMWTWN as u32,
    CPYFP = Operation_ARM64_CPYFP as u32,
    CPYFPN = Operation_ARM64_CPYFPN as u32,
    CPYFPRN = Operation_ARM64_CPYFPRN as u32,
    CPYFPRT = Operation_ARM64_CPYFPRT as u32,
    CPYFPRTN = Operation_ARM64_CPYFPRTN as u32,
    CPYFPRTRN = Operation_ARM64_CPYFPRTRN as u32,
    CPYFPRTWN = Operation_ARM64_CPYFPRTWN as u32,
    CPYFPT = Operation_ARM64_CPYFPT as u32,
    CPYFPTN = Operation_ARM64_CPYFPTN as u32,
    CPYFPTRN = Operation_ARM64_CPYFPTRN as u32,
    CPYFPTWN = Operation_ARM64_CPYFPTWN as u32,
    CPYFPWN = Operation_ARM64_CPYFPWN as u32,
    CPYFPWT = Operation_ARM64_CPYFPWT as u32,
    CPYFPWTN = Operation_ARM64_CPYFPWTN as u32,
    CPYFPWTRN = Operation_ARM64_CPYFPWTRN as u32,
    CPYFPWTWN = Operation_ARM64_CPYFPWTWN as u32,
    CPYM = Operation_ARM64_CPYM as u32,
    CPYMN = Operation_ARM64_CPYMN as u32,
    CPYMRN = Operation_ARM64_CPYMRN as u32,
    CPYMRT = Operation_ARM64_CPYMRT as u32,
    CPYMRTN = Operation_ARM64_CPYMRTN as u32,
    CPYMRTRN = Operation_ARM64_CPYMRTRN as u32,
    CPYMRTWN = Operation_ARM64_CPYMRTWN as u32,
    CPYMT = Operation_ARM64_CPYMT as u32,
    CPYMTN = Operation_ARM64_CPYMTN as u32,
    CPYMTRN = Operation_ARM64_CPYMTRN as u32,
    CPYMTWN = Operation_ARM64_CPYMTWN as u32,
    CPYMWN = Operation_ARM64_CPYMWN as u32,
    CPYMWT = Operation_ARM64_CPYMWT as u32,
    CPYMWTN = Operation_ARM64_CPYMWTN as u32,
    CPYMWTRN = Operation_ARM64_CPYMWTRN as u32,
    CPYMWTWN = Operation_ARM64_CPYMWTWN as u32,
    CPYP = Operation_ARM64_CPYP as u32,
    CPYPN = Operation_ARM64_CPYPN as u32,
    CPYPRN = Operation_ARM64_CPYPRN as u32,
    CPYPRT = Operation_ARM64_CPYPRT as u32,
    CPYPRTN = Operation_ARM64_CPYPRTN as u32,
    CPYPRTRN = Operation_ARM64_CPYPRTRN as u32,
    CPYPRTWN = Operation_ARM64_CPYPRTWN as u32,
    CPYPT = Operation_ARM64_CPYPT as u32,
    CPYPTN = Operation_ARM64_CPYPTN as u32,
    CPYPTRN = Operation_ARM64_CPYPTRN as u32,
    CPYPTWN = Operation_ARM64_CPYPTWN as u32,
    CPYPWN = Operation_ARM64_CPYPWN as u32,
    CPYPWT = Operation_ARM64_CPYPWT as u32,
    CPYPWTN = Operation_ARM64_CPYPWTN as u32,
    CPYPWTRN = Operation_ARM64_CPYPWTRN as u32,
    CPYPWTWN = Operation_ARM64_CPYPWTWN as u32,
    CRC32B = Operation_ARM64_CRC32B as u32,
    CRC32CB = Operation_ARM64_CRC32CB as u32,
    CRC32CH = Operation_ARM64_CRC32CH as u32,
    CRC32CW = Operation_ARM64_CRC32CW as u32,
    CRC32CX = Operation_ARM64_CRC32CX as u32,
    CRC32H = Operation_ARM64_CRC32H as u32,
    CRC32W = Operation_ARM64_CRC32W as u32,
    CRC32X = Operation_ARM64_CRC32X as u32,
    CSDB = Operation_ARM64_CSDB as u32,
    CSEL = Operation_ARM64_CSEL as u32,
    CSET = Operation_ARM64_CSET as u32,
    CSETM = Operation_ARM64_CSETM as u32,
    CSINC = Operation_ARM64_CSINC as u32,
    CSINV = Operation_ARM64_CSINV as u32,
    CSNEG = Operation_ARM64_CSNEG as u32,
    CTERMEQ = Operation_ARM64_CTERMEQ as u32,
    CTERMNE = Operation_ARM64_CTERMNE as u32,
    CTZ = Operation_ARM64_CTZ as u32,
    DC = Operation_ARM64_DC as u32,
    DCPS1 = Operation_ARM64_DCPS1 as u32,
    DCPS2 = Operation_ARM64_DCPS2 as u32,
    DCPS3 = Operation_ARM64_DCPS3 as u32,
    DECB = Operation_ARM64_DECB as u32,
    DECD = Operation_ARM64_DECD as u32,
    DECH = Operation_ARM64_DECH as u32,
    DECP = Operation_ARM64_DECP as u32,
    DECW = Operation_ARM64_DECW as u32,
    DGH = Operation_ARM64_DGH as u32,
    DMB = Operation_ARM64_DMB as u32,
    DRPS = Operation_ARM64_DRPS as u32,
    DSB = Operation_ARM64_DSB as u32,
    DUP = Operation_ARM64_DUP as u32,
    DUPM = Operation_ARM64_DUPM as u32,
    DUPQ = Operation_ARM64_DUPQ as u32,
    DVP = Operation_ARM64_DVP as u32,
    EON = Operation_ARM64_EON as u32,
    EOR = Operation_ARM64_EOR as u32,
    EOR3 = Operation_ARM64_EOR3 as u32,
    EORBT = Operation_ARM64_EORBT as u32,
    EORQV = Operation_ARM64_EORQV as u32,
    EORS = Operation_ARM64_EORS as u32,
    EORTB = Operation_ARM64_EORTB as u32,
    EORV = Operation_ARM64_EORV as u32,
    ERET = Operation_ARM64_ERET as u32,
    ERETAA = Operation_ARM64_ERETAA as u32,
    ERETAB = Operation_ARM64_ERETAB as u32,
    ESB = Operation_ARM64_ESB as u32,
    EXPAND = Operation_ARM64_EXPAND as u32,
    EXT = Operation_ARM64_EXT as u32,
    EXTQ = Operation_ARM64_EXTQ as u32,
    EXTR = Operation_ARM64_EXTR as u32,
    F1CVT = Operation_ARM64_F1CVT as u32,
    F1CVTL = Operation_ARM64_F1CVTL as u32,
    F1CVTL2 = Operation_ARM64_F1CVTL2 as u32,
    F1CVTLT = Operation_ARM64_F1CVTLT as u32,
    F2CVT = Operation_ARM64_F2CVT as u32,
    F2CVTL = Operation_ARM64_F2CVTL as u32,
    F2CVTL2 = Operation_ARM64_F2CVTL2 as u32,
    F2CVTLT = Operation_ARM64_F2CVTLT as u32,
    FABD = Operation_ARM64_FABD as u32,
    FABS = Operation_ARM64_FABS as u32,
    FACGE = Operation_ARM64_FACGE as u32,
    FACGT = Operation_ARM64_FACGT as u32,
    FACLE = Operation_ARM64_FACLE as u32,
    FACLT = Operation_ARM64_FACLT as u32,
    FADD = Operation_ARM64_FADD as u32,
    FADDA = Operation_ARM64_FADDA as u32,
    FADDP = Operation_ARM64_FADDP as u32,
    FADDQV = Operation_ARM64_FADDQV as u32,
    FADDV = Operation_ARM64_FADDV as u32,
    FAMAX = Operation_ARM64_FAMAX as u32,
    FAMIN = Operation_ARM64_FAMIN as u32,
    FCADD = Operation_ARM64_FCADD as u32,
    FCCMP = Operation_ARM64_FCCMP as u32,
    FCCMPE = Operation_ARM64_FCCMPE as u32,
    FCLAMP = Operation_ARM64_FCLAMP as u32,
    FCMEQ = Operation_ARM64_FCMEQ as u32,
    FCMGE = Operation_ARM64_FCMGE as u32,
    FCMGT = Operation_ARM64_FCMGT as u32,
    FCMLA = Operation_ARM64_FCMLA as u32,
    FCMLE = Operation_ARM64_FCMLE as u32,
    FCMLT = Operation_ARM64_FCMLT as u32,
    FCMNE = Operation_ARM64_FCMNE as u32,
    FCMP = Operation_ARM64_FCMP as u32,
    FCMPE = Operation_ARM64_FCMPE as u32,
    FCMUO = Operation_ARM64_FCMUO as u32,
    FCPY = Operation_ARM64_FCPY as u32,
    FCSEL = Operation_ARM64_FCSEL as u32,
    FCVT = Operation_ARM64_FCVT as u32,
    FCVTAS = Operation_ARM64_FCVTAS as u32,
    FCVTAU = Operation_ARM64_FCVTAU as u32,
    FCVTL = Operation_ARM64_FCVTL as u32,
    FCVTL2 = Operation_ARM64_FCVTL2 as u32,
    FCVTLT = Operation_ARM64_FCVTLT as u32,
    FCVTMS = Operation_ARM64_FCVTMS as u32,
    FCVTMU = Operation_ARM64_FCVTMU as u32,
    FCVTN = Operation_ARM64_FCVTN as u32,
    FCVTN2 = Operation_ARM64_FCVTN2 as u32,
    FCVTNB = Operation_ARM64_FCVTNB as u32,
    FCVTNS = Operation_ARM64_FCVTNS as u32,
    FCVTNT = Operation_ARM64_FCVTNT as u32,
    FCVTNU = Operation_ARM64_FCVTNU as u32,
    FCVTPS = Operation_ARM64_FCVTPS as u32,
    FCVTPU = Operation_ARM64_FCVTPU as u32,
    FCVTX = Operation_ARM64_FCVTX as u32,
    FCVTXN = Operation_ARM64_FCVTXN as u32,
    FCVTXN2 = Operation_ARM64_FCVTXN2 as u32,
    FCVTXNT = Operation_ARM64_FCVTXNT as u32,
    FCVTZS = Operation_ARM64_FCVTZS as u32,
    FCVTZSN = Operation_ARM64_FCVTZSN as u32,
    FCVTZU = Operation_ARM64_FCVTZU as u32,
    FCVTZUN = Operation_ARM64_FCVTZUN as u32,
    FDIV = Operation_ARM64_FDIV as u32,
    FDIVR = Operation_ARM64_FDIVR as u32,
    FDOT = Operation_ARM64_FDOT as u32,
    FDUP = Operation_ARM64_FDUP as u32,
    FEXPA = Operation_ARM64_FEXPA as u32,
    FIRSTP = Operation_ARM64_FIRSTP as u32,
    FJCVTZS = Operation_ARM64_FJCVTZS as u32,
    FLOGB = Operation_ARM64_FLOGB as u32,
    FMAD = Operation_ARM64_FMAD as u32,
    FMADD = Operation_ARM64_FMADD as u32,
    FMAX = Operation_ARM64_FMAX as u32,
    FMAXNM = Operation_ARM64_FMAXNM as u32,
    FMAXNMP = Operation_ARM64_FMAXNMP as u32,
    FMAXNMQV = Operation_ARM64_FMAXNMQV as u32,
    FMAXNMV = Operation_ARM64_FMAXNMV as u32,
    FMAXP = Operation_ARM64_FMAXP as u32,
    FMAXQV = Operation_ARM64_FMAXQV as u32,
    FMAXV = Operation_ARM64_FMAXV as u32,
    FMIN = Operation_ARM64_FMIN as u32,
    FMINNM = Operation_ARM64_FMINNM as u32,
    FMINNMP = Operation_ARM64_FMINNMP as u32,
    FMINNMQV = Operation_ARM64_FMINNMQV as u32,
    FMINNMV = Operation_ARM64_FMINNMV as u32,
    FMINP = Operation_ARM64_FMINP as u32,
    FMINQV = Operation_ARM64_FMINQV as u32,
    FMINV = Operation_ARM64_FMINV as u32,
    FMLA = Operation_ARM64_FMLA as u32,
    FMLAL = Operation_ARM64_FMLAL as u32,
    FMLAL2 = Operation_ARM64_FMLAL2 as u32,
    FMLALB = Operation_ARM64_FMLALB as u32,
    FMLALL = Operation_ARM64_FMLALL as u32,
    FMLALLBB = Operation_ARM64_FMLALLBB as u32,
    FMLALLBT = Operation_ARM64_FMLALLBT as u32,
    FMLALLTB = Operation_ARM64_FMLALLTB as u32,
    FMLALLTT = Operation_ARM64_FMLALLTT as u32,
    FMLALT = Operation_ARM64_FMLALT as u32,
    FMLS = Operation_ARM64_FMLS as u32,
    FMLSL = Operation_ARM64_FMLSL as u32,
    FMLSL2 = Operation_ARM64_FMLSL2 as u32,
    FMLSLB = Operation_ARM64_FMLSLB as u32,
    FMLSLT = Operation_ARM64_FMLSLT as u32,
    FMMLA = Operation_ARM64_FMMLA as u32,
    FMOP4A = Operation_ARM64_FMOP4A as u32,
    FMOP4S = Operation_ARM64_FMOP4S as u32,
    FMOPA = Operation_ARM64_FMOPA as u32,
    FMOPS = Operation_ARM64_FMOPS as u32,
    FMOV = Operation_ARM64_FMOV as u32,
    FMSB = Operation_ARM64_FMSB as u32,
    FMSUB = Operation_ARM64_FMSUB as u32,
    FMUL = Operation_ARM64_FMUL as u32,
    FMULX = Operation_ARM64_FMULX as u32,
    FNEG = Operation_ARM64_FNEG as u32,
    FNMAD = Operation_ARM64_FNMAD as u32,
    FNMADD = Operation_ARM64_FNMADD as u32,
    FNMLA = Operation_ARM64_FNMLA as u32,
    FNMLS = Operation_ARM64_FNMLS as u32,
    FNMSB = Operation_ARM64_FNMSB as u32,
    FNMSUB = Operation_ARM64_FNMSUB as u32,
    FNMUL = Operation_ARM64_FNMUL as u32,
    FRECPE = Operation_ARM64_FRECPE as u32,
    FRECPS = Operation_ARM64_FRECPS as u32,
    FRECPX = Operation_ARM64_FRECPX as u32,
    FRINT32X = Operation_ARM64_FRINT32X as u32,
    FRINT32Z = Operation_ARM64_FRINT32Z as u32,
    FRINT64X = Operation_ARM64_FRINT64X as u32,
    FRINT64Z = Operation_ARM64_FRINT64Z as u32,
    FRINTA = Operation_ARM64_FRINTA as u32,
    FRINTI = Operation_ARM64_FRINTI as u32,
    FRINTM = Operation_ARM64_FRINTM as u32,
    FRINTN = Operation_ARM64_FRINTN as u32,
    FRINTP = Operation_ARM64_FRINTP as u32,
    FRINTX = Operation_ARM64_FRINTX as u32,
    FRINTZ = Operation_ARM64_FRINTZ as u32,
    FRSQRTE = Operation_ARM64_FRSQRTE as u32,
    FRSQRTS = Operation_ARM64_FRSQRTS as u32,
    FSCALE = Operation_ARM64_FSCALE as u32,
    FSQRT = Operation_ARM64_FSQRT as u32,
    FSUB = Operation_ARM64_FSUB as u32,
    FSUBR = Operation_ARM64_FSUBR as u32,
    FTMAD = Operation_ARM64_FTMAD as u32,
    FTMOPA = Operation_ARM64_FTMOPA as u32,
    FTSMUL = Operation_ARM64_FTSMUL as u32,
    FTSSEL = Operation_ARM64_FTSSEL as u32,
    FVDOT = Operation_ARM64_FVDOT as u32,
    FVDOTB = Operation_ARM64_FVDOTB as u32,
    FVDOTT = Operation_ARM64_FVDOTT as u32,
    GCSB = Operation_ARM64_GCSB as u32,
    GCSPOPCX = Operation_ARM64_GCSPOPCX as u32,
    GCSPOPM = Operation_ARM64_GCSPOPM as u32,
    GCSPOPX = Operation_ARM64_GCSPOPX as u32,
    GCSPUSHM = Operation_ARM64_GCSPUSHM as u32,
    GCSPUSHX = Operation_ARM64_GCSPUSHX as u32,
    GCSSS1 = Operation_ARM64_GCSSS1 as u32,
    GCSSS2 = Operation_ARM64_GCSSS2 as u32,
    GCSSTR = Operation_ARM64_GCSSTR as u32,
    GCSSTTR = Operation_ARM64_GCSSTTR as u32,
    GIC = Operation_ARM64_GIC as u32,
    GICR = Operation_ARM64_GICR as u32,
    GMI = Operation_ARM64_GMI as u32,
    GSB = Operation_ARM64_GSB as u32,
    HINT = Operation_ARM64_HINT as u32,
    HISTCNT = Operation_ARM64_HISTCNT as u32,
    HISTSEG = Operation_ARM64_HISTSEG as u32,
    HLT = Operation_ARM64_HLT as u32,
    HVC = Operation_ARM64_HVC as u32,
    IC = Operation_ARM64_IC as u32,
    INCB = Operation_ARM64_INCB as u32,
    INCD = Operation_ARM64_INCD as u32,
    INCH = Operation_ARM64_INCH as u32,
    INCP = Operation_ARM64_INCP as u32,
    INCW = Operation_ARM64_INCW as u32,
    INDEX = Operation_ARM64_INDEX as u32,
    INS = Operation_ARM64_INS as u32,
    INSR = Operation_ARM64_INSR as u32,
    IRG = Operation_ARM64_IRG as u32,
    ISB = Operation_ARM64_ISB as u32,
    LASTA = Operation_ARM64_LASTA as u32,
    LASTB = Operation_ARM64_LASTB as u32,
    LASTP = Operation_ARM64_LASTP as u32,
    LD1 = Operation_ARM64_LD1 as u32,
    LD1B = Operation_ARM64_LD1B as u32,
    LD1D = Operation_ARM64_LD1D as u32,
    LD1H = Operation_ARM64_LD1H as u32,
    LD1Q = Operation_ARM64_LD1Q as u32,
    LD1R = Operation_ARM64_LD1R as u32,
    LD1RB = Operation_ARM64_LD1RB as u32,
    LD1RD = Operation_ARM64_LD1RD as u32,
    LD1RH = Operation_ARM64_LD1RH as u32,
    LD1ROB = Operation_ARM64_LD1ROB as u32,
    LD1ROD = Operation_ARM64_LD1ROD as u32,
    LD1ROH = Operation_ARM64_LD1ROH as u32,
    LD1ROW = Operation_ARM64_LD1ROW as u32,
    LD1RQB = Operation_ARM64_LD1RQB as u32,
    LD1RQD = Operation_ARM64_LD1RQD as u32,
    LD1RQH = Operation_ARM64_LD1RQH as u32,
    LD1RQW = Operation_ARM64_LD1RQW as u32,
    LD1RSB = Operation_ARM64_LD1RSB as u32,
    LD1RSH = Operation_ARM64_LD1RSH as u32,
    LD1RSW = Operation_ARM64_LD1RSW as u32,
    LD1RW = Operation_ARM64_LD1RW as u32,
    LD1SB = Operation_ARM64_LD1SB as u32,
    LD1SH = Operation_ARM64_LD1SH as u32,
    LD1SW = Operation_ARM64_LD1SW as u32,
    LD1W = Operation_ARM64_LD1W as u32,
    LD2 = Operation_ARM64_LD2 as u32,
    LD2B = Operation_ARM64_LD2B as u32,
    LD2D = Operation_ARM64_LD2D as u32,
    LD2H = Operation_ARM64_LD2H as u32,
    LD2Q = Operation_ARM64_LD2Q as u32,
    LD2R = Operation_ARM64_LD2R as u32,
    LD2W = Operation_ARM64_LD2W as u32,
    LD3 = Operation_ARM64_LD3 as u32,
    LD3B = Operation_ARM64_LD3B as u32,
    LD3D = Operation_ARM64_LD3D as u32,
    LD3H = Operation_ARM64_LD3H as u32,
    LD3Q = Operation_ARM64_LD3Q as u32,
    LD3R = Operation_ARM64_LD3R as u32,
    LD3W = Operation_ARM64_LD3W as u32,
    LD4 = Operation_ARM64_LD4 as u32,
    LD4B = Operation_ARM64_LD4B as u32,
    LD4D = Operation_ARM64_LD4D as u32,
    LD4H = Operation_ARM64_LD4H as u32,
    LD4Q = Operation_ARM64_LD4Q as u32,
    LD4R = Operation_ARM64_LD4R as u32,
    LD4W = Operation_ARM64_LD4W as u32,
    LD64B = Operation_ARM64_LD64B as u32,
    LDADD = Operation_ARM64_LDADD as u32,
    LDADDA = Operation_ARM64_LDADDA as u32,
    LDADDAB = Operation_ARM64_LDADDAB as u32,
    LDADDAH = Operation_ARM64_LDADDAH as u32,
    LDADDAL = Operation_ARM64_LDADDAL as u32,
    LDADDALB = Operation_ARM64_LDADDALB as u32,
    LDADDALH = Operation_ARM64_LDADDALH as u32,
    LDADDB = Operation_ARM64_LDADDB as u32,
    LDADDH = Operation_ARM64_LDADDH as u32,
    LDADDL = Operation_ARM64_LDADDL as u32,
    LDADDLB = Operation_ARM64_LDADDLB as u32,
    LDADDLH = Operation_ARM64_LDADDLH as u32,
    LDAP = Operation_ARM64_LDAP as u32,
    LDAP1 = Operation_ARM64_LDAP1 as u32,
    LDAPP = Operation_ARM64_LDAPP as u32,
    LDAPR = Operation_ARM64_LDAPR as u32,
    LDAPRB = Operation_ARM64_LDAPRB as u32,
    LDAPRH = Operation_ARM64_LDAPRH as u32,
    LDAPUR = Operation_ARM64_LDAPUR as u32,
    LDAPURB = Operation_ARM64_LDAPURB as u32,
    LDAPURH = Operation_ARM64_LDAPURH as u32,
    LDAPURSB = Operation_ARM64_LDAPURSB as u32,
    LDAPURSH = Operation_ARM64_LDAPURSH as u32,
    LDAPURSW = Operation_ARM64_LDAPURSW as u32,
    LDAR = Operation_ARM64_LDAR as u32,
    LDARB = Operation_ARM64_LDARB as u32,
    LDARH = Operation_ARM64_LDARH as u32,
    LDATXR = Operation_ARM64_LDATXR as u32,
    LDAXP = Operation_ARM64_LDAXP as u32,
    LDAXR = Operation_ARM64_LDAXR as u32,
    LDAXRB = Operation_ARM64_LDAXRB as u32,
    LDAXRH = Operation_ARM64_LDAXRH as u32,
    LDBFADD = Operation_ARM64_LDBFADD as u32,
    LDBFADDA = Operation_ARM64_LDBFADDA as u32,
    LDBFADDAL = Operation_ARM64_LDBFADDAL as u32,
    LDBFADDL = Operation_ARM64_LDBFADDL as u32,
    LDBFMAX = Operation_ARM64_LDBFMAX as u32,
    LDBFMAXA = Operation_ARM64_LDBFMAXA as u32,
    LDBFMAXAL = Operation_ARM64_LDBFMAXAL as u32,
    LDBFMAXL = Operation_ARM64_LDBFMAXL as u32,
    LDBFMAXNM = Operation_ARM64_LDBFMAXNM as u32,
    LDBFMAXNMA = Operation_ARM64_LDBFMAXNMA as u32,
    LDBFMAXNMAL = Operation_ARM64_LDBFMAXNMAL as u32,
    LDBFMAXNML = Operation_ARM64_LDBFMAXNML as u32,
    LDBFMIN = Operation_ARM64_LDBFMIN as u32,
    LDBFMINA = Operation_ARM64_LDBFMINA as u32,
    LDBFMINAL = Operation_ARM64_LDBFMINAL as u32,
    LDBFMINL = Operation_ARM64_LDBFMINL as u32,
    LDBFMINNM = Operation_ARM64_LDBFMINNM as u32,
    LDBFMINNMA = Operation_ARM64_LDBFMINNMA as u32,
    LDBFMINNMAL = Operation_ARM64_LDBFMINNMAL as u32,
    LDBFMINNML = Operation_ARM64_LDBFMINNML as u32,
    LDCLR = Operation_ARM64_LDCLR as u32,
    LDCLRA = Operation_ARM64_LDCLRA as u32,
    LDCLRAB = Operation_ARM64_LDCLRAB as u32,
    LDCLRAH = Operation_ARM64_LDCLRAH as u32,
    LDCLRAL = Operation_ARM64_LDCLRAL as u32,
    LDCLRALB = Operation_ARM64_LDCLRALB as u32,
    LDCLRALH = Operation_ARM64_LDCLRALH as u32,
    LDCLRB = Operation_ARM64_LDCLRB as u32,
    LDCLRH = Operation_ARM64_LDCLRH as u32,
    LDCLRL = Operation_ARM64_LDCLRL as u32,
    LDCLRLB = Operation_ARM64_LDCLRLB as u32,
    LDCLRLH = Operation_ARM64_LDCLRLH as u32,
    LDCLRP = Operation_ARM64_LDCLRP as u32,
    LDCLRPA = Operation_ARM64_LDCLRPA as u32,
    LDCLRPAL = Operation_ARM64_LDCLRPAL as u32,
    LDCLRPL = Operation_ARM64_LDCLRPL as u32,
    LDEOR = Operation_ARM64_LDEOR as u32,
    LDEORA = Operation_ARM64_LDEORA as u32,
    LDEORAB = Operation_ARM64_LDEORAB as u32,
    LDEORAH = Operation_ARM64_LDEORAH as u32,
    LDEORAL = Operation_ARM64_LDEORAL as u32,
    LDEORALB = Operation_ARM64_LDEORALB as u32,
    LDEORALH = Operation_ARM64_LDEORALH as u32,
    LDEORB = Operation_ARM64_LDEORB as u32,
    LDEORH = Operation_ARM64_LDEORH as u32,
    LDEORL = Operation_ARM64_LDEORL as u32,
    LDEORLB = Operation_ARM64_LDEORLB as u32,
    LDEORLH = Operation_ARM64_LDEORLH as u32,
    LDFADD = Operation_ARM64_LDFADD as u32,
    LDFADDA = Operation_ARM64_LDFADDA as u32,
    LDFADDAL = Operation_ARM64_LDFADDAL as u32,
    LDFADDL = Operation_ARM64_LDFADDL as u32,
    LDFF1B = Operation_ARM64_LDFF1B as u32,
    LDFF1D = Operation_ARM64_LDFF1D as u32,
    LDFF1H = Operation_ARM64_LDFF1H as u32,
    LDFF1SB = Operation_ARM64_LDFF1SB as u32,
    LDFF1SH = Operation_ARM64_LDFF1SH as u32,
    LDFF1SW = Operation_ARM64_LDFF1SW as u32,
    LDFF1W = Operation_ARM64_LDFF1W as u32,
    LDFMAX = Operation_ARM64_LDFMAX as u32,
    LDFMAXA = Operation_ARM64_LDFMAXA as u32,
    LDFMAXAL = Operation_ARM64_LDFMAXAL as u32,
    LDFMAXL = Operation_ARM64_LDFMAXL as u32,
    LDFMAXNM = Operation_ARM64_LDFMAXNM as u32,
    LDFMAXNMA = Operation_ARM64_LDFMAXNMA as u32,
    LDFMAXNMAL = Operation_ARM64_LDFMAXNMAL as u32,
    LDFMAXNML = Operation_ARM64_LDFMAXNML as u32,
    LDFMIN = Operation_ARM64_LDFMIN as u32,
    LDFMINA = Operation_ARM64_LDFMINA as u32,
    LDFMINAL = Operation_ARM64_LDFMINAL as u32,
    LDFMINL = Operation_ARM64_LDFMINL as u32,
    LDFMINNM = Operation_ARM64_LDFMINNM as u32,
    LDFMINNMA = Operation_ARM64_LDFMINNMA as u32,
    LDFMINNMAL = Operation_ARM64_LDFMINNMAL as u32,
    LDFMINNML = Operation_ARM64_LDFMINNML as u32,
    LDG = Operation_ARM64_LDG as u32,
    LDGM = Operation_ARM64_LDGM as u32,
    LDIAPP = Operation_ARM64_LDIAPP as u32,
    LDLAR = Operation_ARM64_LDLAR as u32,
    LDLARB = Operation_ARM64_LDLARB as u32,
    LDLARH = Operation_ARM64_LDLARH as u32,
    LDNF1B = Operation_ARM64_LDNF1B as u32,
    LDNF1D = Operation_ARM64_LDNF1D as u32,
    LDNF1H = Operation_ARM64_LDNF1H as u32,
    LDNF1SB = Operation_ARM64_LDNF1SB as u32,
    LDNF1SH = Operation_ARM64_LDNF1SH as u32,
    LDNF1SW = Operation_ARM64_LDNF1SW as u32,
    LDNF1W = Operation_ARM64_LDNF1W as u32,
    LDNP = Operation_ARM64_LDNP as u32,
    LDNT1B = Operation_ARM64_LDNT1B as u32,
    LDNT1D = Operation_ARM64_LDNT1D as u32,
    LDNT1H = Operation_ARM64_LDNT1H as u32,
    LDNT1SB = Operation_ARM64_LDNT1SB as u32,
    LDNT1SH = Operation_ARM64_LDNT1SH as u32,
    LDNT1SW = Operation_ARM64_LDNT1SW as u32,
    LDNT1W = Operation_ARM64_LDNT1W as u32,
    LDP = Operation_ARM64_LDP as u32,
    LDPSW = Operation_ARM64_LDPSW as u32,
    LDR = Operation_ARM64_LDR as u32,
    LDRAA = Operation_ARM64_LDRAA as u32,
    LDRAB = Operation_ARM64_LDRAB as u32,
    LDRB = Operation_ARM64_LDRB as u32,
    LDRH = Operation_ARM64_LDRH as u32,
    LDRSB = Operation_ARM64_LDRSB as u32,
    LDRSH = Operation_ARM64_LDRSH as u32,
    LDRSW = Operation_ARM64_LDRSW as u32,
    LDSET = Operation_ARM64_LDSET as u32,
    LDSETA = Operation_ARM64_LDSETA as u32,
    LDSETAB = Operation_ARM64_LDSETAB as u32,
    LDSETAH = Operation_ARM64_LDSETAH as u32,
    LDSETAL = Operation_ARM64_LDSETAL as u32,
    LDSETALB = Operation_ARM64_LDSETALB as u32,
    LDSETALH = Operation_ARM64_LDSETALH as u32,
    LDSETB = Operation_ARM64_LDSETB as u32,
    LDSETH = Operation_ARM64_LDSETH as u32,
    LDSETL = Operation_ARM64_LDSETL as u32,
    LDSETLB = Operation_ARM64_LDSETLB as u32,
    LDSETLH = Operation_ARM64_LDSETLH as u32,
    LDSETP = Operation_ARM64_LDSETP as u32,
    LDSETPA = Operation_ARM64_LDSETPA as u32,
    LDSETPAL = Operation_ARM64_LDSETPAL as u32,
    LDSETPL = Operation_ARM64_LDSETPL as u32,
    LDSMAX = Operation_ARM64_LDSMAX as u32,
    LDSMAXA = Operation_ARM64_LDSMAXA as u32,
    LDSMAXAB = Operation_ARM64_LDSMAXAB as u32,
    LDSMAXAH = Operation_ARM64_LDSMAXAH as u32,
    LDSMAXAL = Operation_ARM64_LDSMAXAL as u32,
    LDSMAXALB = Operation_ARM64_LDSMAXALB as u32,
    LDSMAXALH = Operation_ARM64_LDSMAXALH as u32,
    LDSMAXB = Operation_ARM64_LDSMAXB as u32,
    LDSMAXH = Operation_ARM64_LDSMAXH as u32,
    LDSMAXL = Operation_ARM64_LDSMAXL as u32,
    LDSMAXLB = Operation_ARM64_LDSMAXLB as u32,
    LDSMAXLH = Operation_ARM64_LDSMAXLH as u32,
    LDSMIN = Operation_ARM64_LDSMIN as u32,
    LDSMINA = Operation_ARM64_LDSMINA as u32,
    LDSMINAB = Operation_ARM64_LDSMINAB as u32,
    LDSMINAH = Operation_ARM64_LDSMINAH as u32,
    LDSMINAL = Operation_ARM64_LDSMINAL as u32,
    LDSMINALB = Operation_ARM64_LDSMINALB as u32,
    LDSMINALH = Operation_ARM64_LDSMINALH as u32,
    LDSMINB = Operation_ARM64_LDSMINB as u32,
    LDSMINH = Operation_ARM64_LDSMINH as u32,
    LDSMINL = Operation_ARM64_LDSMINL as u32,
    LDSMINLB = Operation_ARM64_LDSMINLB as u32,
    LDSMINLH = Operation_ARM64_LDSMINLH as u32,
    LDTADD = Operation_ARM64_LDTADD as u32,
    LDTADDA = Operation_ARM64_LDTADDA as u32,
    LDTADDAL = Operation_ARM64_LDTADDAL as u32,
    LDTADDL = Operation_ARM64_LDTADDL as u32,
    LDTCLR = Operation_ARM64_LDTCLR as u32,
    LDTCLRA = Operation_ARM64_LDTCLRA as u32,
    LDTCLRAL = Operation_ARM64_LDTCLRAL as u32,
    LDTCLRL = Operation_ARM64_LDTCLRL as u32,
    LDTNP = Operation_ARM64_LDTNP as u32,
    LDTP = Operation_ARM64_LDTP as u32,
    LDTR = Operation_ARM64_LDTR as u32,
    LDTRB = Operation_ARM64_LDTRB as u32,
    LDTRH = Operation_ARM64_LDTRH as u32,
    LDTRSB = Operation_ARM64_LDTRSB as u32,
    LDTRSH = Operation_ARM64_LDTRSH as u32,
    LDTRSW = Operation_ARM64_LDTRSW as u32,
    LDTSET = Operation_ARM64_LDTSET as u32,
    LDTSETA = Operation_ARM64_LDTSETA as u32,
    LDTSETAL = Operation_ARM64_LDTSETAL as u32,
    LDTSETL = Operation_ARM64_LDTSETL as u32,
    LDTXR = Operation_ARM64_LDTXR as u32,
    LDUMAX = Operation_ARM64_LDUMAX as u32,
    LDUMAXA = Operation_ARM64_LDUMAXA as u32,
    LDUMAXAB = Operation_ARM64_LDUMAXAB as u32,
    LDUMAXAH = Operation_ARM64_LDUMAXAH as u32,
    LDUMAXAL = Operation_ARM64_LDUMAXAL as u32,
    LDUMAXALB = Operation_ARM64_LDUMAXALB as u32,
    LDUMAXALH = Operation_ARM64_LDUMAXALH as u32,
    LDUMAXB = Operation_ARM64_LDUMAXB as u32,
    LDUMAXH = Operation_ARM64_LDUMAXH as u32,
    LDUMAXL = Operation_ARM64_LDUMAXL as u32,
    LDUMAXLB = Operation_ARM64_LDUMAXLB as u32,
    LDUMAXLH = Operation_ARM64_LDUMAXLH as u32,
    LDUMIN = Operation_ARM64_LDUMIN as u32,
    LDUMINA = Operation_ARM64_LDUMINA as u32,
    LDUMINAB = Operation_ARM64_LDUMINAB as u32,
    LDUMINAH = Operation_ARM64_LDUMINAH as u32,
    LDUMINAL = Operation_ARM64_LDUMINAL as u32,
    LDUMINALB = Operation_ARM64_LDUMINALB as u32,
    LDUMINALH = Operation_ARM64_LDUMINALH as u32,
    LDUMINB = Operation_ARM64_LDUMINB as u32,
    LDUMINH = Operation_ARM64_LDUMINH as u32,
    LDUMINL = Operation_ARM64_LDUMINL as u32,
    LDUMINLB = Operation_ARM64_LDUMINLB as u32,
    LDUMINLH = Operation_ARM64_LDUMINLH as u32,
    LDUR = Operation_ARM64_LDUR as u32,
    LDURB = Operation_ARM64_LDURB as u32,
    LDURH = Operation_ARM64_LDURH as u32,
    LDURSB = Operation_ARM64_LDURSB as u32,
    LDURSH = Operation_ARM64_LDURSH as u32,
    LDURSW = Operation_ARM64_LDURSW as u32,
    LDXP = Operation_ARM64_LDXP as u32,
    LDXR = Operation_ARM64_LDXR as u32,
    LDXRB = Operation_ARM64_LDXRB as u32,
    LDXRH = Operation_ARM64_LDXRH as u32,
    LSL = Operation_ARM64_LSL as u32,
    LSLR = Operation_ARM64_LSLR as u32,
    LSLV = Operation_ARM64_LSLV as u32,
    LSR = Operation_ARM64_LSR as u32,
    LSRR = Operation_ARM64_LSRR as u32,
    LSRV = Operation_ARM64_LSRV as u32,
    LUTI2 = Operation_ARM64_LUTI2 as u32,
    LUTI4 = Operation_ARM64_LUTI4 as u32,
    LUTI6 = Operation_ARM64_LUTI6 as u32,
    MAD = Operation_ARM64_MAD as u32,
    MADD = Operation_ARM64_MADD as u32,
    MADDPT = Operation_ARM64_MADDPT as u32,
    MADPT = Operation_ARM64_MADPT as u32,
    MATCH = Operation_ARM64_MATCH as u32,
    MLA = Operation_ARM64_MLA as u32,
    MLAPT = Operation_ARM64_MLAPT as u32,
    MLBI = Operation_ARM64_MLBI as u32,
    MLS = Operation_ARM64_MLS as u32,
    MNEG = Operation_ARM64_MNEG as u32,
    MOV = Operation_ARM64_MOV as u32,
    MOVA = Operation_ARM64_MOVA as u32,
    MOVAZ = Operation_ARM64_MOVAZ as u32,
    MOVI = Operation_ARM64_MOVI as u32,
    MOVK = Operation_ARM64_MOVK as u32,
    MOVN = Operation_ARM64_MOVN as u32,
    MOVPRFX = Operation_ARM64_MOVPRFX as u32,
    MOVS = Operation_ARM64_MOVS as u32,
    MOVT = Operation_ARM64_MOVT as u32,
    MOVZ = Operation_ARM64_MOVZ as u32,
    MRRS = Operation_ARM64_MRRS as u32,
    MRS = Operation_ARM64_MRS as u32,
    MSB = Operation_ARM64_MSB as u32,
    MSR = Operation_ARM64_MSR as u32,
    MSRR = Operation_ARM64_MSRR as u32,
    MSUB = Operation_ARM64_MSUB as u32,
    MSUBPT = Operation_ARM64_MSUBPT as u32,
    MUL = Operation_ARM64_MUL as u32,
    MVN = Operation_ARM64_MVN as u32,
    MVNI = Operation_ARM64_MVNI as u32,
    NAND = Operation_ARM64_NAND as u32,
    NANDS = Operation_ARM64_NANDS as u32,
    NBSL = Operation_ARM64_NBSL as u32,
    NEG = Operation_ARM64_NEG as u32,
    NEGS = Operation_ARM64_NEGS as u32,
    NGC = Operation_ARM64_NGC as u32,
    NGCS = Operation_ARM64_NGCS as u32,
    NMATCH = Operation_ARM64_NMATCH as u32,
    NOP = Operation_ARM64_NOP as u32,
    NOR = Operation_ARM64_NOR as u32,
    NORS = Operation_ARM64_NORS as u32,
    NOT = Operation_ARM64_NOT as u32,
    NOTS = Operation_ARM64_NOTS as u32,
    ORN = Operation_ARM64_ORN as u32,
    ORNS = Operation_ARM64_ORNS as u32,
    ORQV = Operation_ARM64_ORQV as u32,
    ORR = Operation_ARM64_ORR as u32,
    ORRS = Operation_ARM64_ORRS as u32,
    ORV = Operation_ARM64_ORV as u32,
    PACDA = Operation_ARM64_PACDA as u32,
    PACDB = Operation_ARM64_PACDB as u32,
    PACDZA = Operation_ARM64_PACDZA as u32,
    PACDZB = Operation_ARM64_PACDZB as u32,
    PACGA = Operation_ARM64_PACGA as u32,
    PACIA = Operation_ARM64_PACIA as u32,
    PACIA1716 = Operation_ARM64_PACIA1716 as u32,
    PACIA171615 = Operation_ARM64_PACIA171615 as u32,
    PACIASP = Operation_ARM64_PACIASP as u32,
    PACIASPPC = Operation_ARM64_PACIASPPC as u32,
    PACIAZ = Operation_ARM64_PACIAZ as u32,
    PACIB = Operation_ARM64_PACIB as u32,
    PACIB1716 = Operation_ARM64_PACIB1716 as u32,
    PACIB171615 = Operation_ARM64_PACIB171615 as u32,
    PACIBSP = Operation_ARM64_PACIBSP as u32,
    PACIBSPPC = Operation_ARM64_PACIBSPPC as u32,
    PACIBZ = Operation_ARM64_PACIBZ as u32,
    PACIZA = Operation_ARM64_PACIZA as u32,
    PACIZB = Operation_ARM64_PACIZB as u32,
    PACM = Operation_ARM64_PACM as u32,
    PACNBIASPPC = Operation_ARM64_PACNBIASPPC as u32,
    PACNBIBSPPC = Operation_ARM64_PACNBIBSPPC as u32,
    PEXT = Operation_ARM64_PEXT as u32,
    PFALSE = Operation_ARM64_PFALSE as u32,
    PFIRST = Operation_ARM64_PFIRST as u32,
    PMLAL = Operation_ARM64_PMLAL as u32,
    PMOV = Operation_ARM64_PMOV as u32,
    PMUL = Operation_ARM64_PMUL as u32,
    PMULL = Operation_ARM64_PMULL as u32,
    PMULL2 = Operation_ARM64_PMULL2 as u32,
    PMULLB = Operation_ARM64_PMULLB as u32,
    PMULLT = Operation_ARM64_PMULLT as u32,
    PNEXT = Operation_ARM64_PNEXT as u32,
    PRFB = Operation_ARM64_PRFB as u32,
    PRFD = Operation_ARM64_PRFD as u32,
    PRFH = Operation_ARM64_PRFH as u32,
    PRFM = Operation_ARM64_PRFM as u32,
    PRFUM = Operation_ARM64_PRFUM as u32,
    PRFW = Operation_ARM64_PRFW as u32,
    PSB = Operation_ARM64_PSB as u32,
    PSEL = Operation_ARM64_PSEL as u32,
    PSSBB = Operation_ARM64_PSSBB as u32,
    PTEST = Operation_ARM64_PTEST as u32,
    PTRUE = Operation_ARM64_PTRUE as u32,
    PTRUES = Operation_ARM64_PTRUES as u32,
    PUNPKHI = Operation_ARM64_PUNPKHI as u32,
    PUNPKLO = Operation_ARM64_PUNPKLO as u32,
    RADDHN = Operation_ARM64_RADDHN as u32,
    RADDHN2 = Operation_ARM64_RADDHN2 as u32,
    RADDHNB = Operation_ARM64_RADDHNB as u32,
    RADDHNT = Operation_ARM64_RADDHNT as u32,
    RAX1 = Operation_ARM64_RAX1 as u32,
    RBIT = Operation_ARM64_RBIT as u32,
    RCWCAS = Operation_ARM64_RCWCAS as u32,
    RCWCASA = Operation_ARM64_RCWCASA as u32,
    RCWCASAL = Operation_ARM64_RCWCASAL as u32,
    RCWCASL = Operation_ARM64_RCWCASL as u32,
    RCWCASP = Operation_ARM64_RCWCASP as u32,
    RCWCASPA = Operation_ARM64_RCWCASPA as u32,
    RCWCASPAL = Operation_ARM64_RCWCASPAL as u32,
    RCWCASPL = Operation_ARM64_RCWCASPL as u32,
    RCWCLR = Operation_ARM64_RCWCLR as u32,
    RCWCLRA = Operation_ARM64_RCWCLRA as u32,
    RCWCLRAL = Operation_ARM64_RCWCLRAL as u32,
    RCWCLRL = Operation_ARM64_RCWCLRL as u32,
    RCWCLRP = Operation_ARM64_RCWCLRP as u32,
    RCWCLRPA = Operation_ARM64_RCWCLRPA as u32,
    RCWCLRPAL = Operation_ARM64_RCWCLRPAL as u32,
    RCWCLRPL = Operation_ARM64_RCWCLRPL as u32,
    RCWSCAS = Operation_ARM64_RCWSCAS as u32,
    RCWSCASA = Operation_ARM64_RCWSCASA as u32,
    RCWSCASAL = Operation_ARM64_RCWSCASAL as u32,
    RCWSCASL = Operation_ARM64_RCWSCASL as u32,
    RCWSCASP = Operation_ARM64_RCWSCASP as u32,
    RCWSCASPA = Operation_ARM64_RCWSCASPA as u32,
    RCWSCASPAL = Operation_ARM64_RCWSCASPAL as u32,
    RCWSCASPL = Operation_ARM64_RCWSCASPL as u32,
    RCWSCLR = Operation_ARM64_RCWSCLR as u32,
    RCWSCLRA = Operation_ARM64_RCWSCLRA as u32,
    RCWSCLRAL = Operation_ARM64_RCWSCLRAL as u32,
    RCWSCLRL = Operation_ARM64_RCWSCLRL as u32,
    RCWSCLRP = Operation_ARM64_RCWSCLRP as u32,
    RCWSCLRPA = Operation_ARM64_RCWSCLRPA as u32,
    RCWSCLRPAL = Operation_ARM64_RCWSCLRPAL as u32,
    RCWSCLRPL = Operation_ARM64_RCWSCLRPL as u32,
    RCWSET = Operation_ARM64_RCWSET as u32,
    RCWSETA = Operation_ARM64_RCWSETA as u32,
    RCWSETAL = Operation_ARM64_RCWSETAL as u32,
    RCWSETL = Operation_ARM64_RCWSETL as u32,
    RCWSETP = Operation_ARM64_RCWSETP as u32,
    RCWSETPA = Operation_ARM64_RCWSETPA as u32,
    RCWSETPAL = Operation_ARM64_RCWSETPAL as u32,
    RCWSETPL = Operation_ARM64_RCWSETPL as u32,
    RCWSSET = Operation_ARM64_RCWSSET as u32,
    RCWSSETA = Operation_ARM64_RCWSSETA as u32,
    RCWSSETAL = Operation_ARM64_RCWSSETAL as u32,
    RCWSSETL = Operation_ARM64_RCWSSETL as u32,
    RCWSSETP = Operation_ARM64_RCWSSETP as u32,
    RCWSSETPA = Operation_ARM64_RCWSSETPA as u32,
    RCWSSETPAL = Operation_ARM64_RCWSSETPAL as u32,
    RCWSSETPL = Operation_ARM64_RCWSSETPL as u32,
    RCWSSWP = Operation_ARM64_RCWSSWP as u32,
    RCWSSWPA = Operation_ARM64_RCWSSWPA as u32,
    RCWSSWPAL = Operation_ARM64_RCWSSWPAL as u32,
    RCWSSWPL = Operation_ARM64_RCWSSWPL as u32,
    RCWSSWPP = Operation_ARM64_RCWSSWPP as u32,
    RCWSSWPPA = Operation_ARM64_RCWSSWPPA as u32,
    RCWSSWPPAL = Operation_ARM64_RCWSSWPPAL as u32,
    RCWSSWPPL = Operation_ARM64_RCWSSWPPL as u32,
    RCWSWP = Operation_ARM64_RCWSWP as u32,
    RCWSWPA = Operation_ARM64_RCWSWPA as u32,
    RCWSWPAL = Operation_ARM64_RCWSWPAL as u32,
    RCWSWPL = Operation_ARM64_RCWSWPL as u32,
    RCWSWPP = Operation_ARM64_RCWSWPP as u32,
    RCWSWPPA = Operation_ARM64_RCWSWPPA as u32,
    RCWSWPPAL = Operation_ARM64_RCWSWPPAL as u32,
    RCWSWPPL = Operation_ARM64_RCWSWPPL as u32,
    RDFFR = Operation_ARM64_RDFFR as u32,
    RDFFRS = Operation_ARM64_RDFFRS as u32,
    RDSVL = Operation_ARM64_RDSVL as u32,
    RDVL = Operation_ARM64_RDVL as u32,
    RET = Operation_ARM64_RET as u32,
    RETAA = Operation_ARM64_RETAA as u32,
    RETAASPPC = Operation_ARM64_RETAASPPC as u32,
    RETAASPPCR = Operation_ARM64_RETAASPPCR as u32,
    RETAB = Operation_ARM64_RETAB as u32,
    RETABSPPC = Operation_ARM64_RETABSPPC as u32,
    RETABSPPCR = Operation_ARM64_RETABSPPCR as u32,
    REV = Operation_ARM64_REV as u32,
    REV16 = Operation_ARM64_REV16 as u32,
    REV32 = Operation_ARM64_REV32 as u32,
    REV64 = Operation_ARM64_REV64 as u32,
    REVB = Operation_ARM64_REVB as u32,
    REVD = Operation_ARM64_REVD as u32,
    REVH = Operation_ARM64_REVH as u32,
    REVW = Operation_ARM64_REVW as u32,
    RMIF = Operation_ARM64_RMIF as u32,
    ROR = Operation_ARM64_ROR as u32,
    RORV = Operation_ARM64_RORV as u32,
    RPRFM = Operation_ARM64_RPRFM as u32,
    RSHRN = Operation_ARM64_RSHRN as u32,
    RSHRN2 = Operation_ARM64_RSHRN2 as u32,
    RSHRNB = Operation_ARM64_RSHRNB as u32,
    RSHRNT = Operation_ARM64_RSHRNT as u32,
    RSUBHN = Operation_ARM64_RSUBHN as u32,
    RSUBHN2 = Operation_ARM64_RSUBHN2 as u32,
    RSUBHNB = Operation_ARM64_RSUBHNB as u32,
    RSUBHNT = Operation_ARM64_RSUBHNT as u32,
    SABA = Operation_ARM64_SABA as u32,
    SABAL = Operation_ARM64_SABAL as u32,
    SABAL2 = Operation_ARM64_SABAL2 as u32,
    SABALB = Operation_ARM64_SABALB as u32,
    SABALT = Operation_ARM64_SABALT as u32,
    SABD = Operation_ARM64_SABD as u32,
    SABDL = Operation_ARM64_SABDL as u32,
    SABDL2 = Operation_ARM64_SABDL2 as u32,
    SABDLB = Operation_ARM64_SABDLB as u32,
    SABDLT = Operation_ARM64_SABDLT as u32,
    SADALP = Operation_ARM64_SADALP as u32,
    SADDL = Operation_ARM64_SADDL as u32,
    SADDL2 = Operation_ARM64_SADDL2 as u32,
    SADDLB = Operation_ARM64_SADDLB as u32,
    SADDLBT = Operation_ARM64_SADDLBT as u32,
    SADDLP = Operation_ARM64_SADDLP as u32,
    SADDLT = Operation_ARM64_SADDLT as u32,
    SADDLV = Operation_ARM64_SADDLV as u32,
    SADDV = Operation_ARM64_SADDV as u32,
    SADDW = Operation_ARM64_SADDW as u32,
    SADDW2 = Operation_ARM64_SADDW2 as u32,
    SADDWB = Operation_ARM64_SADDWB as u32,
    SADDWT = Operation_ARM64_SADDWT as u32,
    SB = Operation_ARM64_SB as u32,
    SBC = Operation_ARM64_SBC as u32,
    SBCLB = Operation_ARM64_SBCLB as u32,
    SBCLT = Operation_ARM64_SBCLT as u32,
    SBCS = Operation_ARM64_SBCS as u32,
    SBFIZ = Operation_ARM64_SBFIZ as u32,
    SBFM = Operation_ARM64_SBFM as u32,
    SBFX = Operation_ARM64_SBFX as u32,
    SCLAMP = Operation_ARM64_SCLAMP as u32,
    SCVTF = Operation_ARM64_SCVTF as u32,
    SCVTFLT = Operation_ARM64_SCVTFLT as u32,
    SDIV = Operation_ARM64_SDIV as u32,
    SDIVR = Operation_ARM64_SDIVR as u32,
    SDOT = Operation_ARM64_SDOT as u32,
    SEL = Operation_ARM64_SEL as u32,
    SETE = Operation_ARM64_SETE as u32,
    SETEN = Operation_ARM64_SETEN as u32,
    SETET = Operation_ARM64_SETET as u32,
    SETETN = Operation_ARM64_SETETN as u32,
    SETF16 = Operation_ARM64_SETF16 as u32,
    SETF8 = Operation_ARM64_SETF8 as u32,
    SETFFR = Operation_ARM64_SETFFR as u32,
    SETGE = Operation_ARM64_SETGE as u32,
    SETGEN = Operation_ARM64_SETGEN as u32,
    SETGET = Operation_ARM64_SETGET as u32,
    SETGETN = Operation_ARM64_SETGETN as u32,
    SETGM = Operation_ARM64_SETGM as u32,
    SETGMN = Operation_ARM64_SETGMN as u32,
    SETGMT = Operation_ARM64_SETGMT as u32,
    SETGMTN = Operation_ARM64_SETGMTN as u32,
    SETGP = Operation_ARM64_SETGP as u32,
    SETGPN = Operation_ARM64_SETGPN as u32,
    SETGPT = Operation_ARM64_SETGPT as u32,
    SETGPTN = Operation_ARM64_SETGPTN as u32,
    SETM = Operation_ARM64_SETM as u32,
    SETMN = Operation_ARM64_SETMN as u32,
    SETMT = Operation_ARM64_SETMT as u32,
    SETMTN = Operation_ARM64_SETMTN as u32,
    SETP = Operation_ARM64_SETP as u32,
    SETPN = Operation_ARM64_SETPN as u32,
    SETPT = Operation_ARM64_SETPT as u32,
    SETPTN = Operation_ARM64_SETPTN as u32,
    SEV = Operation_ARM64_SEV as u32,
    SEVL = Operation_ARM64_SEVL as u32,
    SHA1C = Operation_ARM64_SHA1C as u32,
    SHA1H = Operation_ARM64_SHA1H as u32,
    SHA1M = Operation_ARM64_SHA1M as u32,
    SHA1P = Operation_ARM64_SHA1P as u32,
    SHA1SU0 = Operation_ARM64_SHA1SU0 as u32,
    SHA1SU1 = Operation_ARM64_SHA1SU1 as u32,
    SHA256H = Operation_ARM64_SHA256H as u32,
    SHA256H2 = Operation_ARM64_SHA256H2 as u32,
    SHA256SU0 = Operation_ARM64_SHA256SU0 as u32,
    SHA256SU1 = Operation_ARM64_SHA256SU1 as u32,
    SHA512H = Operation_ARM64_SHA512H as u32,
    SHA512H2 = Operation_ARM64_SHA512H2 as u32,
    SHA512SU0 = Operation_ARM64_SHA512SU0 as u32,
    SHA512SU1 = Operation_ARM64_SHA512SU1 as u32,
    SHADD = Operation_ARM64_SHADD as u32,
    SHL = Operation_ARM64_SHL as u32,
    SHLL = Operation_ARM64_SHLL as u32,
    SHLL2 = Operation_ARM64_SHLL2 as u32,
    SHRN = Operation_ARM64_SHRN as u32,
    SHRN2 = Operation_ARM64_SHRN2 as u32,
    SHRNB = Operation_ARM64_SHRNB as u32,
    SHRNT = Operation_ARM64_SHRNT as u32,
    SHSUB = Operation_ARM64_SHSUB as u32,
    SHSUBR = Operation_ARM64_SHSUBR as u32,
    SHUH = Operation_ARM64_SHUH as u32,
    SLI = Operation_ARM64_SLI as u32,
    SM3PARTW1 = Operation_ARM64_SM3PARTW1 as u32,
    SM3PARTW2 = Operation_ARM64_SM3PARTW2 as u32,
    SM3SS1 = Operation_ARM64_SM3SS1 as u32,
    SM3TT1A = Operation_ARM64_SM3TT1A as u32,
    SM3TT1B = Operation_ARM64_SM3TT1B as u32,
    SM3TT2A = Operation_ARM64_SM3TT2A as u32,
    SM3TT2B = Operation_ARM64_SM3TT2B as u32,
    SM4E = Operation_ARM64_SM4E as u32,
    SM4EKEY = Operation_ARM64_SM4EKEY as u32,
    SMADDL = Operation_ARM64_SMADDL as u32,
    SMAX = Operation_ARM64_SMAX as u32,
    SMAXP = Operation_ARM64_SMAXP as u32,
    SMAXQV = Operation_ARM64_SMAXQV as u32,
    SMAXV = Operation_ARM64_SMAXV as u32,
    SMC = Operation_ARM64_SMC as u32,
    SMIN = Operation_ARM64_SMIN as u32,
    SMINP = Operation_ARM64_SMINP as u32,
    SMINQV = Operation_ARM64_SMINQV as u32,
    SMINV = Operation_ARM64_SMINV as u32,
    SMLAL = Operation_ARM64_SMLAL as u32,
    SMLAL2 = Operation_ARM64_SMLAL2 as u32,
    SMLALB = Operation_ARM64_SMLALB as u32,
    SMLALL = Operation_ARM64_SMLALL as u32,
    SMLALT = Operation_ARM64_SMLALT as u32,
    SMLSL = Operation_ARM64_SMLSL as u32,
    SMLSL2 = Operation_ARM64_SMLSL2 as u32,
    SMLSLB = Operation_ARM64_SMLSLB as u32,
    SMLSLL = Operation_ARM64_SMLSLL as u32,
    SMLSLT = Operation_ARM64_SMLSLT as u32,
    SMMLA = Operation_ARM64_SMMLA as u32,
    SMNEGL = Operation_ARM64_SMNEGL as u32,
    SMOP4A = Operation_ARM64_SMOP4A as u32,
    SMOP4S = Operation_ARM64_SMOP4S as u32,
    SMOPA = Operation_ARM64_SMOPA as u32,
    SMOPS = Operation_ARM64_SMOPS as u32,
    SMOV = Operation_ARM64_SMOV as u32,
    SMSTART = Operation_ARM64_SMSTART as u32,
    SMSTOP = Operation_ARM64_SMSTOP as u32,
    SMSUBL = Operation_ARM64_SMSUBL as u32,
    SMULH = Operation_ARM64_SMULH as u32,
    SMULL = Operation_ARM64_SMULL as u32,
    SMULL2 = Operation_ARM64_SMULL2 as u32,
    SMULLB = Operation_ARM64_SMULLB as u32,
    SMULLT = Operation_ARM64_SMULLT as u32,
    SPLICE = Operation_ARM64_SPLICE as u32,
    SQABS = Operation_ARM64_SQABS as u32,
    SQADD = Operation_ARM64_SQADD as u32,
    SQCADD = Operation_ARM64_SQCADD as u32,
    SQCVT = Operation_ARM64_SQCVT as u32,
    SQCVTN = Operation_ARM64_SQCVTN as u32,
    SQCVTU = Operation_ARM64_SQCVTU as u32,
    SQCVTUN = Operation_ARM64_SQCVTUN as u32,
    SQDECB = Operation_ARM64_SQDECB as u32,
    SQDECD = Operation_ARM64_SQDECD as u32,
    SQDECH = Operation_ARM64_SQDECH as u32,
    SQDECP = Operation_ARM64_SQDECP as u32,
    SQDECW = Operation_ARM64_SQDECW as u32,
    SQDMLAL = Operation_ARM64_SQDMLAL as u32,
    SQDMLAL2 = Operation_ARM64_SQDMLAL2 as u32,
    SQDMLALB = Operation_ARM64_SQDMLALB as u32,
    SQDMLALBT = Operation_ARM64_SQDMLALBT as u32,
    SQDMLALT = Operation_ARM64_SQDMLALT as u32,
    SQDMLSL = Operation_ARM64_SQDMLSL as u32,
    SQDMLSL2 = Operation_ARM64_SQDMLSL2 as u32,
    SQDMLSLB = Operation_ARM64_SQDMLSLB as u32,
    SQDMLSLBT = Operation_ARM64_SQDMLSLBT as u32,
    SQDMLSLT = Operation_ARM64_SQDMLSLT as u32,
    SQDMULH = Operation_ARM64_SQDMULH as u32,
    SQDMULL = Operation_ARM64_SQDMULL as u32,
    SQDMULL2 = Operation_ARM64_SQDMULL2 as u32,
    SQDMULLB = Operation_ARM64_SQDMULLB as u32,
    SQDMULLT = Operation_ARM64_SQDMULLT as u32,
    SQINCB = Operation_ARM64_SQINCB as u32,
    SQINCD = Operation_ARM64_SQINCD as u32,
    SQINCH = Operation_ARM64_SQINCH as u32,
    SQINCP = Operation_ARM64_SQINCP as u32,
    SQINCW = Operation_ARM64_SQINCW as u32,
    SQNEG = Operation_ARM64_SQNEG as u32,
    SQRDCMLAH = Operation_ARM64_SQRDCMLAH as u32,
    SQRDMLAH = Operation_ARM64_SQRDMLAH as u32,
    SQRDMLSH = Operation_ARM64_SQRDMLSH as u32,
    SQRDMULH = Operation_ARM64_SQRDMULH as u32,
    SQRSHL = Operation_ARM64_SQRSHL as u32,
    SQRSHLR = Operation_ARM64_SQRSHLR as u32,
    SQRSHR = Operation_ARM64_SQRSHR as u32,
    SQRSHRN = Operation_ARM64_SQRSHRN as u32,
    SQRSHRN2 = Operation_ARM64_SQRSHRN2 as u32,
    SQRSHRNB = Operation_ARM64_SQRSHRNB as u32,
    SQRSHRNT = Operation_ARM64_SQRSHRNT as u32,
    SQRSHRU = Operation_ARM64_SQRSHRU as u32,
    SQRSHRUN = Operation_ARM64_SQRSHRUN as u32,
    SQRSHRUN2 = Operation_ARM64_SQRSHRUN2 as u32,
    SQRSHRUNB = Operation_ARM64_SQRSHRUNB as u32,
    SQRSHRUNT = Operation_ARM64_SQRSHRUNT as u32,
    SQSHL = Operation_ARM64_SQSHL as u32,
    SQSHLR = Operation_ARM64_SQSHLR as u32,
    SQSHLU = Operation_ARM64_SQSHLU as u32,
    SQSHRN = Operation_ARM64_SQSHRN as u32,
    SQSHRN2 = Operation_ARM64_SQSHRN2 as u32,
    SQSHRNB = Operation_ARM64_SQSHRNB as u32,
    SQSHRNT = Operation_ARM64_SQSHRNT as u32,
    SQSHRUN = Operation_ARM64_SQSHRUN as u32,
    SQSHRUN2 = Operation_ARM64_SQSHRUN2 as u32,
    SQSHRUNB = Operation_ARM64_SQSHRUNB as u32,
    SQSHRUNT = Operation_ARM64_SQSHRUNT as u32,
    SQSUB = Operation_ARM64_SQSUB as u32,
    SQSUBR = Operation_ARM64_SQSUBR as u32,
    SQXTN = Operation_ARM64_SQXTN as u32,
    SQXTN2 = Operation_ARM64_SQXTN2 as u32,
    SQXTNB = Operation_ARM64_SQXTNB as u32,
    SQXTNT = Operation_ARM64_SQXTNT as u32,
    SQXTUN = Operation_ARM64_SQXTUN as u32,
    SQXTUN2 = Operation_ARM64_SQXTUN2 as u32,
    SQXTUNB = Operation_ARM64_SQXTUNB as u32,
    SQXTUNT = Operation_ARM64_SQXTUNT as u32,
    SRHADD = Operation_ARM64_SRHADD as u32,
    SRI = Operation_ARM64_SRI as u32,
    SRSHL = Operation_ARM64_SRSHL as u32,
    SRSHLR = Operation_ARM64_SRSHLR as u32,
    SRSHR = Operation_ARM64_SRSHR as u32,
    SRSRA = Operation_ARM64_SRSRA as u32,
    SSBB = Operation_ARM64_SSBB as u32,
    SSHL = Operation_ARM64_SSHL as u32,
    SSHLL = Operation_ARM64_SSHLL as u32,
    SSHLL2 = Operation_ARM64_SSHLL2 as u32,
    SSHLLB = Operation_ARM64_SSHLLB as u32,
    SSHLLT = Operation_ARM64_SSHLLT as u32,
    SSHR = Operation_ARM64_SSHR as u32,
    SSRA = Operation_ARM64_SSRA as u32,
    SSUBL = Operation_ARM64_SSUBL as u32,
    SSUBL2 = Operation_ARM64_SSUBL2 as u32,
    SSUBLB = Operation_ARM64_SSUBLB as u32,
    SSUBLBT = Operation_ARM64_SSUBLBT as u32,
    SSUBLT = Operation_ARM64_SSUBLT as u32,
    SSUBLTB = Operation_ARM64_SSUBLTB as u32,
    SSUBW = Operation_ARM64_SSUBW as u32,
    SSUBW2 = Operation_ARM64_SSUBW2 as u32,
    SSUBWB = Operation_ARM64_SSUBWB as u32,
    SSUBWT = Operation_ARM64_SSUBWT as u32,
    ST1 = Operation_ARM64_ST1 as u32,
    ST1B = Operation_ARM64_ST1B as u32,
    ST1D = Operation_ARM64_ST1D as u32,
    ST1H = Operation_ARM64_ST1H as u32,
    ST1Q = Operation_ARM64_ST1Q as u32,
    ST1W = Operation_ARM64_ST1W as u32,
    ST2 = Operation_ARM64_ST2 as u32,
    ST2B = Operation_ARM64_ST2B as u32,
    ST2D = Operation_ARM64_ST2D as u32,
    ST2G = Operation_ARM64_ST2G as u32,
    ST2H = Operation_ARM64_ST2H as u32,
    ST2Q = Operation_ARM64_ST2Q as u32,
    ST2W = Operation_ARM64_ST2W as u32,
    ST3 = Operation_ARM64_ST3 as u32,
    ST3B = Operation_ARM64_ST3B as u32,
    ST3D = Operation_ARM64_ST3D as u32,
    ST3H = Operation_ARM64_ST3H as u32,
    ST3Q = Operation_ARM64_ST3Q as u32,
    ST3W = Operation_ARM64_ST3W as u32,
    ST4 = Operation_ARM64_ST4 as u32,
    ST4B = Operation_ARM64_ST4B as u32,
    ST4D = Operation_ARM64_ST4D as u32,
    ST4H = Operation_ARM64_ST4H as u32,
    ST4Q = Operation_ARM64_ST4Q as u32,
    ST4W = Operation_ARM64_ST4W as u32,
    ST64B = Operation_ARM64_ST64B as u32,
    ST64BV = Operation_ARM64_ST64BV as u32,
    ST64BV0 = Operation_ARM64_ST64BV0 as u32,
    STADD = Operation_ARM64_STADD as u32,
    STADDB = Operation_ARM64_STADDB as u32,
    STADDH = Operation_ARM64_STADDH as u32,
    STADDL = Operation_ARM64_STADDL as u32,
    STADDLB = Operation_ARM64_STADDLB as u32,
    STADDLH = Operation_ARM64_STADDLH as u32,
    STBFADD = Operation_ARM64_STBFADD as u32,
    STBFADDL = Operation_ARM64_STBFADDL as u32,
    STBFMAX = Operation_ARM64_STBFMAX as u32,
    STBFMAXL = Operation_ARM64_STBFMAXL as u32,
    STBFMAXNM = Operation_ARM64_STBFMAXNM as u32,
    STBFMAXNML = Operation_ARM64_STBFMAXNML as u32,
    STBFMIN = Operation_ARM64_STBFMIN as u32,
    STBFMINL = Operation_ARM64_STBFMINL as u32,
    STBFMINNM = Operation_ARM64_STBFMINNM as u32,
    STBFMINNML = Operation_ARM64_STBFMINNML as u32,
    STCLR = Operation_ARM64_STCLR as u32,
    STCLRB = Operation_ARM64_STCLRB as u32,
    STCLRH = Operation_ARM64_STCLRH as u32,
    STCLRL = Operation_ARM64_STCLRL as u32,
    STCLRLB = Operation_ARM64_STCLRLB as u32,
    STCLRLH = Operation_ARM64_STCLRLH as u32,
    STCPH = Operation_ARM64_STCPH as u32,
    STEOR = Operation_ARM64_STEOR as u32,
    STEORB = Operation_ARM64_STEORB as u32,
    STEORH = Operation_ARM64_STEORH as u32,
    STEORL = Operation_ARM64_STEORL as u32,
    STEORLB = Operation_ARM64_STEORLB as u32,
    STEORLH = Operation_ARM64_STEORLH as u32,
    STFADD = Operation_ARM64_STFADD as u32,
    STFADDL = Operation_ARM64_STFADDL as u32,
    STFMAX = Operation_ARM64_STFMAX as u32,
    STFMAXL = Operation_ARM64_STFMAXL as u32,
    STFMAXNM = Operation_ARM64_STFMAXNM as u32,
    STFMAXNML = Operation_ARM64_STFMAXNML as u32,
    STFMIN = Operation_ARM64_STFMIN as u32,
    STFMINL = Operation_ARM64_STFMINL as u32,
    STFMINNM = Operation_ARM64_STFMINNM as u32,
    STFMINNML = Operation_ARM64_STFMINNML as u32,
    STG = Operation_ARM64_STG as u32,
    STGM = Operation_ARM64_STGM as u32,
    STGP = Operation_ARM64_STGP as u32,
    STILP = Operation_ARM64_STILP as u32,
    STL1 = Operation_ARM64_STL1 as u32,
    STLLR = Operation_ARM64_STLLR as u32,
    STLLRB = Operation_ARM64_STLLRB as u32,
    STLLRH = Operation_ARM64_STLLRH as u32,
    STLP = Operation_ARM64_STLP as u32,
    STLR = Operation_ARM64_STLR as u32,
    STLRB = Operation_ARM64_STLRB as u32,
    STLRH = Operation_ARM64_STLRH as u32,
    STLTXR = Operation_ARM64_STLTXR as u32,
    STLUR = Operation_ARM64_STLUR as u32,
    STLURB = Operation_ARM64_STLURB as u32,
    STLURH = Operation_ARM64_STLURH as u32,
    STLXP = Operation_ARM64_STLXP as u32,
    STLXR = Operation_ARM64_STLXR as u32,
    STLXRB = Operation_ARM64_STLXRB as u32,
    STLXRH = Operation_ARM64_STLXRH as u32,
    STMOPA = Operation_ARM64_STMOPA as u32,
    STNP = Operation_ARM64_STNP as u32,
    STNT1B = Operation_ARM64_STNT1B as u32,
    STNT1D = Operation_ARM64_STNT1D as u32,
    STNT1H = Operation_ARM64_STNT1H as u32,
    STNT1W = Operation_ARM64_STNT1W as u32,
    STP = Operation_ARM64_STP as u32,
    STR = Operation_ARM64_STR as u32,
    STRB = Operation_ARM64_STRB as u32,
    STRH = Operation_ARM64_STRH as u32,
    STSET = Operation_ARM64_STSET as u32,
    STSETB = Operation_ARM64_STSETB as u32,
    STSETH = Operation_ARM64_STSETH as u32,
    STSETL = Operation_ARM64_STSETL as u32,
    STSETLB = Operation_ARM64_STSETLB as u32,
    STSETLH = Operation_ARM64_STSETLH as u32,
    STSHH = Operation_ARM64_STSHH as u32,
    STSMAX = Operation_ARM64_STSMAX as u32,
    STSMAXB = Operation_ARM64_STSMAXB as u32,
    STSMAXH = Operation_ARM64_STSMAXH as u32,
    STSMAXL = Operation_ARM64_STSMAXL as u32,
    STSMAXLB = Operation_ARM64_STSMAXLB as u32,
    STSMAXLH = Operation_ARM64_STSMAXLH as u32,
    STSMIN = Operation_ARM64_STSMIN as u32,
    STSMINB = Operation_ARM64_STSMINB as u32,
    STSMINH = Operation_ARM64_STSMINH as u32,
    STSMINL = Operation_ARM64_STSMINL as u32,
    STSMINLB = Operation_ARM64_STSMINLB as u32,
    STSMINLH = Operation_ARM64_STSMINLH as u32,
    STTADD = Operation_ARM64_STTADD as u32,
    STTADDL = Operation_ARM64_STTADDL as u32,
    STTCLR = Operation_ARM64_STTCLR as u32,
    STTCLRL = Operation_ARM64_STTCLRL as u32,
    STTNP = Operation_ARM64_STTNP as u32,
    STTP = Operation_ARM64_STTP as u32,
    STTR = Operation_ARM64_STTR as u32,
    STTRB = Operation_ARM64_STTRB as u32,
    STTRH = Operation_ARM64_STTRH as u32,
    STTSET = Operation_ARM64_STTSET as u32,
    STTSETL = Operation_ARM64_STTSETL as u32,
    STTXR = Operation_ARM64_STTXR as u32,
    STUMAX = Operation_ARM64_STUMAX as u32,
    STUMAXB = Operation_ARM64_STUMAXB as u32,
    STUMAXH = Operation_ARM64_STUMAXH as u32,
    STUMAXL = Operation_ARM64_STUMAXL as u32,
    STUMAXLB = Operation_ARM64_STUMAXLB as u32,
    STUMAXLH = Operation_ARM64_STUMAXLH as u32,
    STUMIN = Operation_ARM64_STUMIN as u32,
    STUMINB = Operation_ARM64_STUMINB as u32,
    STUMINH = Operation_ARM64_STUMINH as u32,
    STUMINL = Operation_ARM64_STUMINL as u32,
    STUMINLB = Operation_ARM64_STUMINLB as u32,
    STUMINLH = Operation_ARM64_STUMINLH as u32,
    STUR = Operation_ARM64_STUR as u32,
    STURB = Operation_ARM64_STURB as u32,
    STURH = Operation_ARM64_STURH as u32,
    STXP = Operation_ARM64_STXP as u32,
    STXR = Operation_ARM64_STXR as u32,
    STXRB = Operation_ARM64_STXRB as u32,
    STXRH = Operation_ARM64_STXRH as u32,
    STZ2G = Operation_ARM64_STZ2G as u32,
    STZG = Operation_ARM64_STZG as u32,
    STZGM = Operation_ARM64_STZGM as u32,
    SUB = Operation_ARM64_SUB as u32,
    SUBG = Operation_ARM64_SUBG as u32,
    SUBHN = Operation_ARM64_SUBHN as u32,
    SUBHN2 = Operation_ARM64_SUBHN2 as u32,
    SUBHNB = Operation_ARM64_SUBHNB as u32,
    SUBHNT = Operation_ARM64_SUBHNT as u32,
    SUBP = Operation_ARM64_SUBP as u32,
    SUBPS = Operation_ARM64_SUBPS as u32,
    SUBPT = Operation_ARM64_SUBPT as u32,
    SUBR = Operation_ARM64_SUBR as u32,
    SUBS = Operation_ARM64_SUBS as u32,
    SUDOT = Operation_ARM64_SUDOT as u32,
    SUMLALL = Operation_ARM64_SUMLALL as u32,
    SUMOP4A = Operation_ARM64_SUMOP4A as u32,
    SUMOP4S = Operation_ARM64_SUMOP4S as u32,
    SUMOPA = Operation_ARM64_SUMOPA as u32,
    SUMOPS = Operation_ARM64_SUMOPS as u32,
    SUNPK = Operation_ARM64_SUNPK as u32,
    SUNPKHI = Operation_ARM64_SUNPKHI as u32,
    SUNPKLO = Operation_ARM64_SUNPKLO as u32,
    SUQADD = Operation_ARM64_SUQADD as u32,
    SUTMOPA = Operation_ARM64_SUTMOPA as u32,
    SUVDOT = Operation_ARM64_SUVDOT as u32,
    SVC = Operation_ARM64_SVC as u32,
    SVDOT = Operation_ARM64_SVDOT as u32,
    SWP = Operation_ARM64_SWP as u32,
    SWPA = Operation_ARM64_SWPA as u32,
    SWPAB = Operation_ARM64_SWPAB as u32,
    SWPAH = Operation_ARM64_SWPAH as u32,
    SWPAL = Operation_ARM64_SWPAL as u32,
    SWPALB = Operation_ARM64_SWPALB as u32,
    SWPALH = Operation_ARM64_SWPALH as u32,
    SWPB = Operation_ARM64_SWPB as u32,
    SWPH = Operation_ARM64_SWPH as u32,
    SWPL = Operation_ARM64_SWPL as u32,
    SWPLB = Operation_ARM64_SWPLB as u32,
    SWPLH = Operation_ARM64_SWPLH as u32,
    SWPP = Operation_ARM64_SWPP as u32,
    SWPPA = Operation_ARM64_SWPPA as u32,
    SWPPAL = Operation_ARM64_SWPPAL as u32,
    SWPPL = Operation_ARM64_SWPPL as u32,
    SWPT = Operation_ARM64_SWPT as u32,
    SWPTA = Operation_ARM64_SWPTA as u32,
    SWPTAL = Operation_ARM64_SWPTAL as u32,
    SWPTL = Operation_ARM64_SWPTL as u32,
    SXTB = Operation_ARM64_SXTB as u32,
    SXTH = Operation_ARM64_SXTH as u32,
    SXTL = Operation_ARM64_SXTL as u32,
    SXTL2 = Operation_ARM64_SXTL2 as u32,
    SXTW = Operation_ARM64_SXTW as u32,
    SYS = Operation_ARM64_SYS as u32,
    SYSL = Operation_ARM64_SYSL as u32,
    SYSP = Operation_ARM64_SYSP as u32,
    TBL = Operation_ARM64_TBL as u32,
    TBLQ = Operation_ARM64_TBLQ as u32,
    TBNZ = Operation_ARM64_TBNZ as u32,
    TBX = Operation_ARM64_TBX as u32,
    TBXQ = Operation_ARM64_TBXQ as u32,
    TBZ = Operation_ARM64_TBZ as u32,
    TLBI = Operation_ARM64_TLBI as u32,
    TLBIP = Operation_ARM64_TLBIP as u32,
    TRCIT = Operation_ARM64_TRCIT as u32,
    TRN1 = Operation_ARM64_TRN1 as u32,
    TRN2 = Operation_ARM64_TRN2 as u32,
    TSB = Operation_ARM64_TSB as u32,
    TST = Operation_ARM64_TST as u32,
    UABA = Operation_ARM64_UABA as u32,
    UABAL = Operation_ARM64_UABAL as u32,
    UABAL2 = Operation_ARM64_UABAL2 as u32,
    UABALB = Operation_ARM64_UABALB as u32,
    UABALT = Operation_ARM64_UABALT as u32,
    UABD = Operation_ARM64_UABD as u32,
    UABDL = Operation_ARM64_UABDL as u32,
    UABDL2 = Operation_ARM64_UABDL2 as u32,
    UABDLB = Operation_ARM64_UABDLB as u32,
    UABDLT = Operation_ARM64_UABDLT as u32,
    UADALP = Operation_ARM64_UADALP as u32,
    UADDL = Operation_ARM64_UADDL as u32,
    UADDL2 = Operation_ARM64_UADDL2 as u32,
    UADDLB = Operation_ARM64_UADDLB as u32,
    UADDLP = Operation_ARM64_UADDLP as u32,
    UADDLT = Operation_ARM64_UADDLT as u32,
    UADDLV = Operation_ARM64_UADDLV as u32,
    UADDV = Operation_ARM64_UADDV as u32,
    UADDW = Operation_ARM64_UADDW as u32,
    UADDW2 = Operation_ARM64_UADDW2 as u32,
    UADDWB = Operation_ARM64_UADDWB as u32,
    UADDWT = Operation_ARM64_UADDWT as u32,
    UBFIZ = Operation_ARM64_UBFIZ as u32,
    UBFM = Operation_ARM64_UBFM as u32,
    UBFX = Operation_ARM64_UBFX as u32,
    UCLAMP = Operation_ARM64_UCLAMP as u32,
    UCVTF = Operation_ARM64_UCVTF as u32,
    UCVTFLT = Operation_ARM64_UCVTFLT as u32,
    UDF = Operation_ARM64_UDF as u32,
    UDIV = Operation_ARM64_UDIV as u32,
    UDIVR = Operation_ARM64_UDIVR as u32,
    UDOT = Operation_ARM64_UDOT as u32,
    UHADD = Operation_ARM64_UHADD as u32,
    UHSUB = Operation_ARM64_UHSUB as u32,
    UHSUBR = Operation_ARM64_UHSUBR as u32,
    UMADDL = Operation_ARM64_UMADDL as u32,
    UMAX = Operation_ARM64_UMAX as u32,
    UMAXP = Operation_ARM64_UMAXP as u32,
    UMAXQV = Operation_ARM64_UMAXQV as u32,
    UMAXV = Operation_ARM64_UMAXV as u32,
    UMIN = Operation_ARM64_UMIN as u32,
    UMINP = Operation_ARM64_UMINP as u32,
    UMINQV = Operation_ARM64_UMINQV as u32,
    UMINV = Operation_ARM64_UMINV as u32,
    UMLAL = Operation_ARM64_UMLAL as u32,
    UMLAL2 = Operation_ARM64_UMLAL2 as u32,
    UMLALB = Operation_ARM64_UMLALB as u32,
    UMLALL = Operation_ARM64_UMLALL as u32,
    UMLALT = Operation_ARM64_UMLALT as u32,
    UMLSL = Operation_ARM64_UMLSL as u32,
    UMLSL2 = Operation_ARM64_UMLSL2 as u32,
    UMLSLB = Operation_ARM64_UMLSLB as u32,
    UMLSLL = Operation_ARM64_UMLSLL as u32,
    UMLSLT = Operation_ARM64_UMLSLT as u32,
    UMMLA = Operation_ARM64_UMMLA as u32,
    UMNEGL = Operation_ARM64_UMNEGL as u32,
    UMOP4A = Operation_ARM64_UMOP4A as u32,
    UMOP4S = Operation_ARM64_UMOP4S as u32,
    UMOPA = Operation_ARM64_UMOPA as u32,
    UMOPS = Operation_ARM64_UMOPS as u32,
    UMOV = Operation_ARM64_UMOV as u32,
    UMSUBL = Operation_ARM64_UMSUBL as u32,
    UMULH = Operation_ARM64_UMULH as u32,
    UMULL = Operation_ARM64_UMULL as u32,
    UMULL2 = Operation_ARM64_UMULL2 as u32,
    UMULLB = Operation_ARM64_UMULLB as u32,
    UMULLT = Operation_ARM64_UMULLT as u32,
    UQADD = Operation_ARM64_UQADD as u32,
    UQCVT = Operation_ARM64_UQCVT as u32,
    UQCVTN = Operation_ARM64_UQCVTN as u32,
    UQDECB = Operation_ARM64_UQDECB as u32,
    UQDECD = Operation_ARM64_UQDECD as u32,
    UQDECH = Operation_ARM64_UQDECH as u32,
    UQDECP = Operation_ARM64_UQDECP as u32,
    UQDECW = Operation_ARM64_UQDECW as u32,
    UQINCB = Operation_ARM64_UQINCB as u32,
    UQINCD = Operation_ARM64_UQINCD as u32,
    UQINCH = Operation_ARM64_UQINCH as u32,
    UQINCP = Operation_ARM64_UQINCP as u32,
    UQINCW = Operation_ARM64_UQINCW as u32,
    UQRSHL = Operation_ARM64_UQRSHL as u32,
    UQRSHLR = Operation_ARM64_UQRSHLR as u32,
    UQRSHR = Operation_ARM64_UQRSHR as u32,
    UQRSHRN = Operation_ARM64_UQRSHRN as u32,
    UQRSHRN2 = Operation_ARM64_UQRSHRN2 as u32,
    UQRSHRNB = Operation_ARM64_UQRSHRNB as u32,
    UQRSHRNT = Operation_ARM64_UQRSHRNT as u32,
    UQSHL = Operation_ARM64_UQSHL as u32,
    UQSHLR = Operation_ARM64_UQSHLR as u32,
    UQSHRN = Operation_ARM64_UQSHRN as u32,
    UQSHRN2 = Operation_ARM64_UQSHRN2 as u32,
    UQSHRNB = Operation_ARM64_UQSHRNB as u32,
    UQSHRNT = Operation_ARM64_UQSHRNT as u32,
    UQSUB = Operation_ARM64_UQSUB as u32,
    UQSUBR = Operation_ARM64_UQSUBR as u32,
    UQXTN = Operation_ARM64_UQXTN as u32,
    UQXTN2 = Operation_ARM64_UQXTN2 as u32,
    UQXTNB = Operation_ARM64_UQXTNB as u32,
    UQXTNT = Operation_ARM64_UQXTNT as u32,
    URECPE = Operation_ARM64_URECPE as u32,
    URHADD = Operation_ARM64_URHADD as u32,
    URSHL = Operation_ARM64_URSHL as u32,
    URSHLR = Operation_ARM64_URSHLR as u32,
    URSHR = Operation_ARM64_URSHR as u32,
    URSQRTE = Operation_ARM64_URSQRTE as u32,
    URSRA = Operation_ARM64_URSRA as u32,
    USDOT = Operation_ARM64_USDOT as u32,
    USHL = Operation_ARM64_USHL as u32,
    USHLL = Operation_ARM64_USHLL as u32,
    USHLL2 = Operation_ARM64_USHLL2 as u32,
    USHLLB = Operation_ARM64_USHLLB as u32,
    USHLLT = Operation_ARM64_USHLLT as u32,
    USHR = Operation_ARM64_USHR as u32,
    USMLALL = Operation_ARM64_USMLALL as u32,
    USMMLA = Operation_ARM64_USMMLA as u32,
    USMOP4A = Operation_ARM64_USMOP4A as u32,
    USMOP4S = Operation_ARM64_USMOP4S as u32,
    USMOPA = Operation_ARM64_USMOPA as u32,
    USMOPS = Operation_ARM64_USMOPS as u32,
    USQADD = Operation_ARM64_USQADD as u32,
    USRA = Operation_ARM64_USRA as u32,
    USTMOPA = Operation_ARM64_USTMOPA as u32,
    USUBL = Operation_ARM64_USUBL as u32,
    USUBL2 = Operation_ARM64_USUBL2 as u32,
    USUBLB = Operation_ARM64_USUBLB as u32,
    USUBLT = Operation_ARM64_USUBLT as u32,
    USUBW = Operation_ARM64_USUBW as u32,
    USUBW2 = Operation_ARM64_USUBW2 as u32,
    USUBWB = Operation_ARM64_USUBWB as u32,
    USUBWT = Operation_ARM64_USUBWT as u32,
    USVDOT = Operation_ARM64_USVDOT as u32,
    UTMOPA = Operation_ARM64_UTMOPA as u32,
    UUNPK = Operation_ARM64_UUNPK as u32,
    UUNPKHI = Operation_ARM64_UUNPKHI as u32,
    UUNPKLO = Operation_ARM64_UUNPKLO as u32,
    UVDOT = Operation_ARM64_UVDOT as u32,
    UXTB = Operation_ARM64_UXTB as u32,
    UXTH = Operation_ARM64_UXTH as u32,
    UXTL = Operation_ARM64_UXTL as u32,
    UXTL2 = Operation_ARM64_UXTL2 as u32,
    UXTW = Operation_ARM64_UXTW as u32,
    UZP = Operation_ARM64_UZP as u32,
    UZP1 = Operation_ARM64_UZP1 as u32,
    UZP2 = Operation_ARM64_UZP2 as u32,
    UZPQ1 = Operation_ARM64_UZPQ1 as u32,
    UZPQ2 = Operation_ARM64_UZPQ2 as u32,
    WFE = Operation_ARM64_WFE as u32,
    WFET = Operation_ARM64_WFET as u32,
    WFI = Operation_ARM64_WFI as u32,
    WFIT = Operation_ARM64_WFIT as u32,
    WHILEGE = Operation_ARM64_WHILEGE as u32,
    WHILEGT = Operation_ARM64_WHILEGT as u32,
    WHILEHI = Operation_ARM64_WHILEHI as u32,
    WHILEHS = Operation_ARM64_WHILEHS as u32,
    WHILELE = Operation_ARM64_WHILELE as u32,
    WHILELO = Operation_ARM64_WHILELO as u32,
    WHILELS = Operation_ARM64_WHILELS as u32,
    WHILELT = Operation_ARM64_WHILELT as u32,
    WHILERW = Operation_ARM64_WHILERW as u32,
    WHILEWR = Operation_ARM64_WHILEWR as u32,
    WRFFR = Operation_ARM64_WRFFR as u32,
    XAFLAG = Operation_ARM64_XAFLAG as u32,
    XAR = Operation_ARM64_XAR as u32,
    XPACD = Operation_ARM64_XPACD as u32,
    XPACI = Operation_ARM64_XPACI as u32,
    XPACLRI = Operation_ARM64_XPACLRI as u32,
    XTN = Operation_ARM64_XTN as u32,
    XTN2 = Operation_ARM64_XTN2 as u32,
    YIELD = Operation_ARM64_YIELD as u32,
    ZERO = Operation_ARM64_ZERO as u32,
    ZIP = Operation_ARM64_ZIP as u32,
    ZIP1 = Operation_ARM64_ZIP1 as u32,
    ZIP2 = Operation_ARM64_ZIP2 as u32,
    ZIPQ1 = Operation_ARM64_ZIPQ1 as u32,
    ZIPQ2 = Operation_ARM64_ZIPQ2 as u32,
}

// this is a guard to try to detect if new instructions get added
const_assert_eq!(Operation_ARM64_ZIPQ2, 1700);

impl Op {
    /// Get the operation name
    ///
    /// This is an alias for the instruction mnemonic
    ///
    /// # Examples
    /// ```
    /// use bad64::{decode, Op};
    ///
    /// // nop
    /// let decoded = decode(0xd503201f, 0x1000).unwrap();
    ///
    /// assert_eq!(decoded.op(), Op::NOP);
    /// assert_eq!(decoded.op().mnem(), "nop");
    /// ```
    pub fn mnem(&self) -> &'static str {
        #[cfg(target_os = "windows")]
        {
            unsafe { CStr::from_ptr(operation_to_str(self.to_i32().unwrap()) as _) }
                .to_str()
                .unwrap()
        }
        #[cfg(not(target_os = "windows"))]
        {
            unsafe { CStr::from_ptr(operation_to_str(self.to_u32().unwrap()) as _) }
                .to_str()
                .unwrap()
        }
    }
}

impl fmt::Display for Op {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "{}", self.mnem())
    }
}