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
|
/* This file is automatically generated by aarch64-gen. Do not edit! */
/* Copyright (C) 2012-2025 Free Software Foundation, Inc.
Contributed by Arm Ltd.
This file is part of the GNU opcodes library.
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
It is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING3. If not,
see <http://www.gnu.org/licenses/>. */
#include "sysdep.h"
#include "aarch64-tbl-2.h"
#include "aarch64-asm.h"
const aarch64_opcode *
aarch64_find_real_opcode (const aarch64_opcode *opcode)
{
/* Use the index as the key to locate the real opcode. */
enum aarch64_opcode_idx key = opcode - aarch64_opcode_table;
enum aarch64_opcode_idx value;
switch (key)
{
case A64_OPID_5a0003e0_ngc_Rd_Rm:
case A64_OPID_5a000000_sbc_Rd_Rn_Rm:
value = A64_OPID_5a000000_sbc_Rd_Rn_Rm;
break;
case A64_OPID_7a0003e0_ngcs_Rd_Rm:
case A64_OPID_7a000000_sbcs_Rd_Rn_Rm:
value = A64_OPID_7a000000_sbcs_Rd_Rn_Rm;
break;
case A64_OPID_2b20001f_cmn_Rn_SP_Rm_EXT:
case A64_OPID_2b200000_adds_Rd_Rn_SP_Rm_EXT:
value = A64_OPID_2b200000_adds_Rd_Rn_SP_Rm_EXT;
break;
case A64_OPID_6b20001f_cmp_Rn_SP_Rm_EXT:
case A64_OPID_6b200000_subs_Rd_Rn_SP_Rm_EXT:
value = A64_OPID_6b200000_subs_Rd_Rn_SP_Rm_EXT;
break;
case A64_OPID_11000000_mov_Rd_SP_Rn_SP:
case A64_OPID_11000000_add_Rd_SP_Rn_SP_AIMM:
value = A64_OPID_11000000_add_Rd_SP_Rn_SP_AIMM;
break;
case A64_OPID_3100001f_cmn_Rn_SP_AIMM:
case A64_OPID_31000000_adds_Rd_Rn_SP_AIMM:
value = A64_OPID_31000000_adds_Rd_Rn_SP_AIMM;
break;
case A64_OPID_7100001f_cmp_Rn_SP_AIMM:
case A64_OPID_71000000_subs_Rd_Rn_SP_AIMM:
value = A64_OPID_71000000_subs_Rd_Rn_SP_AIMM;
break;
case A64_OPID_2b00001f_cmn_Rn_Rm_SFT:
case A64_OPID_2b000000_adds_Rd_Rn_Rm_SFT:
value = A64_OPID_2b000000_adds_Rd_Rn_Rm_SFT;
break;
case A64_OPID_4b0003e0_neg_Rd_Rm_SFT:
case A64_OPID_4b000000_sub_Rd_Rn_Rm_SFT:
value = A64_OPID_4b000000_sub_Rd_Rn_Rm_SFT;
break;
case A64_OPID_6b00001f_cmp_Rn_Rm_SFT:
case A64_OPID_6b0003e0_negs_Rd_Rm_SFT:
case A64_OPID_6b000000_subs_Rd_Rn_Rm_SFT:
value = A64_OPID_6b000000_subs_Rd_Rn_Rm_SFT;
break;
case A64_OPID_0e003c00_mov_Rd_En:
case A64_OPID_0e003c00_umov_Rd_En:
value = A64_OPID_0e003c00_umov_Rd_En;
break;
case A64_OPID_4e001c00_mov_Ed_Rn:
case A64_OPID_4e001c00_ins_Ed_Rn:
value = A64_OPID_4e001c00_ins_Ed_Rn;
break;
case A64_OPID_6e000400_mov_Ed_En:
case A64_OPID_6e000400_ins_Ed_En:
value = A64_OPID_6e000400_ins_Ed_En;
break;
case A64_OPID_2e205800_mvn_Vd_Vn:
case A64_OPID_2e205800_not_Vd_Vn:
value = A64_OPID_2e205800_not_Vd_Vn;
break;
case A64_OPID_0ea01c00_mov_Vd_Vn:
case A64_OPID_0ea01c00_orr_Vd_Vn_Vm:
value = A64_OPID_0ea01c00_orr_Vd_Vn_Vm;
break;
case A64_OPID_0f00a400_sxtl_Vd_Vn:
case A64_OPID_0f00a400_sshll_Vd_Vn_IMM_VLSL:
value = A64_OPID_0f00a400_sshll_Vd_Vn_IMM_VLSL;
break;
case A64_OPID_4f00a400_sxtl2_Vd_Vn:
case A64_OPID_4f00a400_sshll2_Vd_Vn_IMM_VLSL:
value = A64_OPID_4f00a400_sshll2_Vd_Vn_IMM_VLSL;
break;
case A64_OPID_2f00a400_uxtl_Vd_Vn:
case A64_OPID_2f00a400_ushll_Vd_Vn_IMM_VLSL:
value = A64_OPID_2f00a400_ushll_Vd_Vn_IMM_VLSL;
break;
case A64_OPID_6f00a400_uxtl2_Vd_Vn:
case A64_OPID_6f00a400_ushll2_Vd_Vn_IMM_VLSL:
value = A64_OPID_6f00a400_ushll2_Vd_Vn_IMM_VLSL;
break;
case A64_OPID_5e000400_mov_Sd_En:
case A64_OPID_5e000400_dup_Sd_En:
value = A64_OPID_5e000400_dup_Sd_En;
break;
case A64_OPID_93407c00_sxtw_Rd_Rn:
case A64_OPID_13003c00_sxth_Rd_Rn:
case A64_OPID_13001c00_sxtb_Rd_Rn:
case A64_OPID_13000000_asr_Rd_Rn_IMM:
case A64_OPID_13000000_sbfx_Rd_Rn_IMM_WIDTH:
case A64_OPID_13000000_sbfiz_Rd_Rn_IMM_WIDTH:
case A64_OPID_13000000_sbfm_Rd_Rn_IMMR_IMMS:
value = A64_OPID_13000000_sbfm_Rd_Rn_IMMR_IMMS;
break;
case A64_OPID_330003e0_bfc_Rd_IMM_WIDTH:
case A64_OPID_33000000_bfxil_Rd_Rn_IMM_WIDTH:
case A64_OPID_33000000_bfi_Rd_Rn_IMM_WIDTH:
case A64_OPID_33000000_bfm_Rd_Rn_IMMR_IMMS:
value = A64_OPID_33000000_bfm_Rd_Rn_IMMR_IMMS;
break;
case A64_OPID_53003c00_uxth_Rd_Rn:
case A64_OPID_53001c00_uxtb_Rd_Rn:
case A64_OPID_53000000_lsr_Rd_Rn_IMM:
case A64_OPID_53000000_lsl_Rd_Rn_IMM:
case A64_OPID_53000000_ubfx_Rd_Rn_IMM_WIDTH:
case A64_OPID_53000000_ubfiz_Rd_Rn_IMM_WIDTH:
case A64_OPID_53000000_ubfm_Rd_Rn_IMMR_IMMS:
value = A64_OPID_53000000_ubfm_Rd_Rn_IMMR_IMMS;
break;
case A64_OPID_74000000_cblt_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74000000_cbgt_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74000000_cbgt_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_74200000_cble_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74200000_cbge_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74200000_cbge_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_74400000_cblo_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74400000_cbhi_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74400000_cbhi_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_74600000_cbls_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74600000_cbhs_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74600000_cbhs_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_75000000_cbge_Rt_IMMP1_2_ADDR_PCREL9:
case A64_OPID_75000000_cbgt_Rt_IMM_2_ADDR_PCREL9:
value = A64_OPID_75000000_cbgt_Rt_IMM_2_ADDR_PCREL9;
break;
case A64_OPID_75200000_cble_Rt_IMMS1_2_ADDR_PCREL9:
case A64_OPID_75200000_cblt_Rt_IMM_2_ADDR_PCREL9:
value = A64_OPID_75200000_cblt_Rt_IMM_2_ADDR_PCREL9;
break;
case A64_OPID_75400000_cbhs_Rt_IMMP1_2_ADDR_PCREL9:
case A64_OPID_75400000_cbhi_Rt_IMM_2_ADDR_PCREL9:
value = A64_OPID_75400000_cbhi_Rt_IMM_2_ADDR_PCREL9;
break;
case A64_OPID_75600000_cbls_Rt_IMMS1_2_ADDR_PCREL9:
case A64_OPID_75600000_cblo_Rt_IMM_2_ADDR_PCREL9:
value = A64_OPID_75600000_cblo_Rt_IMM_2_ADDR_PCREL9;
break;
case A64_OPID_74008000_cbblt_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74008000_cbbgt_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74008000_cbbgt_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_74208000_cbble_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74208000_cbbge_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74208000_cbbge_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_74408000_cbblo_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74408000_cbbhi_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74408000_cbbhi_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_74608000_cbbls_Rm_Rt_ADDR_PCREL9:
case A64_OPID_74608000_cbbhs_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_74608000_cbbhs_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_7400c000_cbhlt_Rm_Rt_ADDR_PCREL9:
case A64_OPID_7400c000_cbhgt_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_7400c000_cbhgt_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_7420c000_cbhle_Rm_Rt_ADDR_PCREL9:
case A64_OPID_7420c000_cbhge_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_7420c000_cbhge_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_7440c000_cbhlo_Rm_Rt_ADDR_PCREL9:
case A64_OPID_7440c000_cbhhi_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_7440c000_cbhhi_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_7460c000_cbhls_Rm_Rt_ADDR_PCREL9:
case A64_OPID_7460c000_cbhhs_Rt_Rm_ADDR_PCREL9:
value = A64_OPID_7460c000_cbhhs_Rt_Rm_ADDR_PCREL9;
break;
case A64_OPID_1a9f07e0_cset_Rd_COND1:
case A64_OPID_1a800400_cinc_Rd_Rn_COND1:
case A64_OPID_1a800400_csinc_Rd_Rn_Rm_COND:
value = A64_OPID_1a800400_csinc_Rd_Rn_Rm_COND;
break;
case A64_OPID_5a9f03e0_csetm_Rd_COND1:
case A64_OPID_5a800000_cinv_Rd_Rn_COND1:
case A64_OPID_5a800000_csinv_Rd_Rn_Rm_COND:
value = A64_OPID_5a800000_csinv_Rd_Rn_Rm_COND;
break;
case A64_OPID_5a800400_cneg_Rd_Rn_COND1:
case A64_OPID_5a800400_csneg_Rd_Rn_Rm_COND:
value = A64_OPID_5a800400_csneg_Rd_Rn_Rm_COND;
break;
case A64_OPID_dac00c00_rev64_Rd_Rn:
case A64_OPID_dac00c00_rev_Rd_Rn:
value = A64_OPID_dac00c00_rev_Rd_Rn;
break;
case A64_OPID_1ac02000_lsl_Rd_Rn_Rm:
case A64_OPID_1ac02000_lslv_Rd_Rn_Rm:
value = A64_OPID_1ac02000_lslv_Rd_Rn_Rm;
break;
case A64_OPID_1ac02400_lsr_Rd_Rn_Rm:
case A64_OPID_1ac02400_lsrv_Rd_Rn_Rm:
value = A64_OPID_1ac02400_lsrv_Rd_Rn_Rm;
break;
case A64_OPID_1ac02800_asr_Rd_Rn_Rm:
case A64_OPID_1ac02800_asrv_Rd_Rn_Rm:
value = A64_OPID_1ac02800_asrv_Rd_Rn_Rm;
break;
case A64_OPID_1ac02c00_ror_Rd_Rn_Rm:
case A64_OPID_1ac02c00_rorv_Rd_Rn_Rm:
value = A64_OPID_1ac02c00_rorv_Rd_Rn_Rm;
break;
case A64_OPID_bac0001f_cmpp_Rn_SP_Rm_SP:
case A64_OPID_bac00000_subps_Rd_Rn_SP_Rm_SP:
value = A64_OPID_bac00000_subps_Rd_Rn_SP_Rm_SP;
break;
case A64_OPID_1b007c00_mul_Rd_Rn_Rm:
case A64_OPID_1b000000_madd_Rd_Rn_Rm_Ra:
value = A64_OPID_1b000000_madd_Rd_Rn_Rm_Ra;
break;
case A64_OPID_1b00fc00_mneg_Rd_Rn_Rm:
case A64_OPID_1b008000_msub_Rd_Rn_Rm_Ra:
value = A64_OPID_1b008000_msub_Rd_Rn_Rm_Ra;
break;
case A64_OPID_9b207c00_smull_Rd_Rn_Rm:
case A64_OPID_9b200000_smaddl_Rd_Rn_Rm_Ra:
value = A64_OPID_9b200000_smaddl_Rd_Rn_Rm_Ra;
break;
case A64_OPID_9b20fc00_smnegl_Rd_Rn_Rm:
case A64_OPID_9b208000_smsubl_Rd_Rn_Rm_Ra:
value = A64_OPID_9b208000_smsubl_Rd_Rn_Rm_Ra;
break;
case A64_OPID_9ba07c00_umull_Rd_Rn_Rm:
case A64_OPID_9ba00000_umaddl_Rd_Rn_Rm_Ra:
value = A64_OPID_9ba00000_umaddl_Rd_Rn_Rm_Ra;
break;
case A64_OPID_9ba0fc00_umnegl_Rd_Rn_Rm:
case A64_OPID_9ba08000_umsubl_Rd_Rn_Rm_Ra:
value = A64_OPID_9ba08000_umsubl_Rd_Rn_Rm_Ra;
break;
case A64_OPID_13800000_ror_Rd_Rm_IMMS:
case A64_OPID_13800000_extr_Rd_Rn_Rm_IMMS:
value = A64_OPID_13800000_extr_Rd_Rn_Rm_IMMS;
break;
case A64_OPID_12000000_bic_Rd_SP_Rn_LIMM:
case A64_OPID_12000000_and_Rd_SP_Rn_LIMM:
value = A64_OPID_12000000_and_Rd_SP_Rn_LIMM;
break;
case A64_OPID_320003e0_mov_Rd_SP_IMM_MOV:
case A64_OPID_32000000_orr_Rd_SP_Rn_LIMM:
value = A64_OPID_32000000_orr_Rd_SP_Rn_LIMM;
break;
case A64_OPID_7200001f_tst_Rn_LIMM:
case A64_OPID_72000000_ands_Rd_Rn_LIMM:
value = A64_OPID_72000000_ands_Rd_Rn_LIMM;
break;
case A64_OPID_2a0003e0_uxtw_Rd_Rm:
case A64_OPID_2a0003e0_mov_Rd_Rm_SFT:
case A64_OPID_2a000000_orr_Rd_Rn_Rm_SFT:
value = A64_OPID_2a000000_orr_Rd_Rn_Rm_SFT;
break;
case A64_OPID_2a2003e0_mvn_Rd_Rm_SFT:
case A64_OPID_2a200000_orn_Rd_Rn_Rm_SFT:
value = A64_OPID_2a200000_orn_Rd_Rn_Rm_SFT;
break;
case A64_OPID_6a00001f_tst_Rn_Rm_SFT:
case A64_OPID_6a000000_ands_Rd_Rn_Rm_SFT:
value = A64_OPID_6a000000_ands_Rd_Rn_Rm_SFT;
break;
case A64_OPID_3820001f_staddb_Rs_ADDR_SIMPLE:
case A64_OPID_38200000_ldaddb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38200000_ldaddb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820001f_staddh_Rs_ADDR_SIMPLE:
case A64_OPID_78200000_ldaddh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78200000_ldaddh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820001f_stadd_Rs_ADDR_SIMPLE:
case A64_OPID_b8200000_ldadd_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8200000_ldadd_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860001f_staddlb_Rs_ADDR_SIMPLE:
case A64_OPID_38600000_ldaddlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38600000_ldaddlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860001f_staddlh_Rs_ADDR_SIMPLE:
case A64_OPID_78600000_ldaddlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78600000_ldaddlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860001f_staddl_Rs_ADDR_SIMPLE:
case A64_OPID_b8600000_ldaddl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8600000_ldaddl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3820101f_stclrb_Rs_ADDR_SIMPLE:
case A64_OPID_38201000_ldclrb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38201000_ldclrb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820101f_stclrh_Rs_ADDR_SIMPLE:
case A64_OPID_78201000_ldclrh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78201000_ldclrh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820101f_stclr_Rs_ADDR_SIMPLE:
case A64_OPID_b8201000_ldclr_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8201000_ldclr_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860101f_stclrlb_Rs_ADDR_SIMPLE:
case A64_OPID_38601000_ldclrlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38601000_ldclrlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860101f_stclrlh_Rs_ADDR_SIMPLE:
case A64_OPID_78601000_ldclrlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78601000_ldclrlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860101f_stclrl_Rs_ADDR_SIMPLE:
case A64_OPID_b8601000_ldclrl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8601000_ldclrl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3820201f_steorb_Rs_ADDR_SIMPLE:
case A64_OPID_38202000_ldeorb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38202000_ldeorb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820201f_steorh_Rs_ADDR_SIMPLE:
case A64_OPID_78202000_ldeorh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78202000_ldeorh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820201f_steor_Rs_ADDR_SIMPLE:
case A64_OPID_b8202000_ldeor_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8202000_ldeor_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860201f_steorlb_Rs_ADDR_SIMPLE:
case A64_OPID_38602000_ldeorlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38602000_ldeorlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860201f_steorlh_Rs_ADDR_SIMPLE:
case A64_OPID_78602000_ldeorlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78602000_ldeorlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860201f_steorl_Rs_ADDR_SIMPLE:
case A64_OPID_b8602000_ldeorl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8602000_ldeorl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3820301f_stsetb_Rs_ADDR_SIMPLE:
case A64_OPID_38203000_ldsetb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38203000_ldsetb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820301f_stseth_Rs_ADDR_SIMPLE:
case A64_OPID_78203000_ldseth_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78203000_ldseth_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820301f_stset_Rs_ADDR_SIMPLE:
case A64_OPID_b8203000_ldset_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8203000_ldset_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860301f_stsetlb_Rs_ADDR_SIMPLE:
case A64_OPID_38603000_ldsetlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38603000_ldsetlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860301f_stsetlh_Rs_ADDR_SIMPLE:
case A64_OPID_78603000_ldsetlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78603000_ldsetlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860301f_stsetl_Rs_ADDR_SIMPLE:
case A64_OPID_b8603000_ldsetl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8603000_ldsetl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3820401f_stsmaxb_Rs_ADDR_SIMPLE:
case A64_OPID_38204000_ldsmaxb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38204000_ldsmaxb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820401f_stsmaxh_Rs_ADDR_SIMPLE:
case A64_OPID_78204000_ldsmaxh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78204000_ldsmaxh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820401f_stsmax_Rs_ADDR_SIMPLE:
case A64_OPID_b8204000_ldsmax_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8204000_ldsmax_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860401f_stsmaxlb_Rs_ADDR_SIMPLE:
case A64_OPID_38604000_ldsmaxlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38604000_ldsmaxlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860401f_stsmaxlh_Rs_ADDR_SIMPLE:
case A64_OPID_78604000_ldsmaxlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78604000_ldsmaxlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860401f_stsmaxl_Rs_ADDR_SIMPLE:
case A64_OPID_b8604000_ldsmaxl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8604000_ldsmaxl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3820501f_stsminb_Rs_ADDR_SIMPLE:
case A64_OPID_38205000_ldsminb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38205000_ldsminb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820501f_stsminh_Rs_ADDR_SIMPLE:
case A64_OPID_78205000_ldsminh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78205000_ldsminh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820501f_stsmin_Rs_ADDR_SIMPLE:
case A64_OPID_b8205000_ldsmin_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8205000_ldsmin_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860501f_stsminlb_Rs_ADDR_SIMPLE:
case A64_OPID_38605000_ldsminlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38605000_ldsminlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860501f_stsminlh_Rs_ADDR_SIMPLE:
case A64_OPID_78605000_ldsminlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78605000_ldsminlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860501f_stsminl_Rs_ADDR_SIMPLE:
case A64_OPID_b8605000_ldsminl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8605000_ldsminl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3820601f_stumaxb_Rs_ADDR_SIMPLE:
case A64_OPID_38206000_ldumaxb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38206000_ldumaxb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820601f_stumaxh_Rs_ADDR_SIMPLE:
case A64_OPID_78206000_ldumaxh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78206000_ldumaxh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820601f_stumax_Rs_ADDR_SIMPLE:
case A64_OPID_b8206000_ldumax_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8206000_ldumax_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860601f_stumaxlb_Rs_ADDR_SIMPLE:
case A64_OPID_38606000_ldumaxlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38606000_ldumaxlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860601f_stumaxlh_Rs_ADDR_SIMPLE:
case A64_OPID_78606000_ldumaxlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78606000_ldumaxlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860601f_stumaxl_Rs_ADDR_SIMPLE:
case A64_OPID_b8606000_ldumaxl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8606000_ldumaxl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3820701f_stuminb_Rs_ADDR_SIMPLE:
case A64_OPID_38207000_lduminb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38207000_lduminb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7820701f_stuminh_Rs_ADDR_SIMPLE:
case A64_OPID_78207000_lduminh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78207000_lduminh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b820701f_stumin_Rs_ADDR_SIMPLE:
case A64_OPID_b8207000_ldumin_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8207000_ldumin_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_3860701f_stuminlb_Rs_ADDR_SIMPLE:
case A64_OPID_38607000_lduminlb_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_38607000_lduminlb_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_7860701f_stuminlh_Rs_ADDR_SIMPLE:
case A64_OPID_78607000_lduminlh_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_78607000_lduminlh_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_b860701f_stuminl_Rs_ADDR_SIMPLE:
case A64_OPID_b8607000_lduminl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_b8607000_lduminl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_1920041f_sttadd_Rs_ADDR_SIMPLE:
case A64_OPID_19200400_ldtadd_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_19200400_ldtadd_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_1960041f_sttaddl_Rs_ADDR_SIMPLE:
case A64_OPID_19600400_ldtaddl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_19600400_ldtaddl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_1920141f_sttclr_Rs_ADDR_SIMPLE:
case A64_OPID_19201400_ldtclr_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_19201400_ldtclr_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_1960141f_sttclrl_Rs_ADDR_SIMPLE:
case A64_OPID_19601400_ldtclrl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_19601400_ldtclrl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_1920341f_sttset_Rs_ADDR_SIMPLE:
case A64_OPID_19203400_ldtset_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_19203400_ldtset_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_1960341f_sttsetl_Rs_ADDR_SIMPLE:
case A64_OPID_19603400_ldtsetl_Rs_Rt_ADDR_SIMPLE:
value = A64_OPID_19603400_ldtsetl_Rs_Rt_ADDR_SIMPLE;
break;
case A64_OPID_12800000_mov_Rd_IMM_MOV:
case A64_OPID_12800000_movn_Rd_HALF:
value = A64_OPID_12800000_movn_Rd_HALF;
break;
case A64_OPID_52800000_mov_Rd_IMM_MOV:
case A64_OPID_52800000_movz_Rd_HALF:
value = A64_OPID_52800000_movz_Rd_HALF;
break;
case A64_OPID_d50322df_clrbhb:
case A64_OPID_d50323ff_autibsp:
case A64_OPID_d50323df_autibz:
case A64_OPID_d50323bf_autiasp:
case A64_OPID_d503239f_autiaz:
case A64_OPID_d503237f_pacibsp:
case A64_OPID_d503235f_pacibz:
case A64_OPID_d503233f_paciasp:
case A64_OPID_d503231f_paciaz:
case A64_OPID_d503227f_gcsb_BARRIER_GCSB:
case A64_OPID_d50322df_clearbhb:
case A64_OPID_d503225f_tsb_BARRIER_PSB:
case A64_OPID_d503223f_psb_BARRIER_PSB:
case A64_OPID_d503221f_esb:
case A64_OPID_d50321df_autib1716:
case A64_OPID_d503219f_autia1716:
case A64_OPID_d503215f_pacib1716:
case A64_OPID_d503211f_pacia1716:
case A64_OPID_d50320ff_xpaclri:
case A64_OPID_d50320df_dgh:
case A64_OPID_d50320bf_sevl:
case A64_OPID_d503209f_sev:
case A64_OPID_d503207f_wfi:
case A64_OPID_d503205f_wfe:
case A64_OPID_d503203f_yield:
case A64_OPID_d503241f_bti_BTI_TARGET:
case A64_OPID_d503229f_csdb:
case A64_OPID_d503201f_nop:
case A64_OPID_d503261f_stshh_STSHH_POLICY:
case A64_OPID_d503201f_hint_UIMM7:
value = A64_OPID_d503201f_hint_UIMM7;
break;
case A64_OPID_d503349f_pssbb:
case A64_OPID_d503309f_ssbb:
case A64_OPID_d5033c9f_dfb:
case A64_OPID_d503309f_dsb_BARRIER:
value = A64_OPID_d503309f_dsb_BARRIER;
break;
case A64_OPID_d503323f_dsb_BARRIER_DSB_NXS:
value = A64_OPID_d503323f_dsb_BARRIER_DSB_NXS;
break;
case A64_OPID_d50b72e0_trcit_Rt:
case A64_OPID_d5097280_brb_BRBOP_Rt_IN_SYS_ALIASES:
case A64_OPID_d50b73c0_cosp_SYSREG_SR_Rt:
case A64_OPID_d50b73e0_cpp_SYSREG_SR_Rt:
case A64_OPID_d50b73a0_dvp_SYSREG_SR_Rt:
case A64_OPID_d50b7380_cfp_SYSREG_SR_Rt:
case A64_OPID_d5080000_tlbi_SYSREG_TLBI_Rt_SYS:
case A64_OPID_d5080000_ic_SYSREG_IC_Rt_SYS:
case A64_OPID_d5080000_dc_SYSREG_DC_Rt:
case A64_OPID_d5080000_at_SYSREG_AT_Rt:
case A64_OPID_d5080000_sys_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt:
value = A64_OPID_d5080000_sys_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt;
break;
case A64_OPID_d5480000_tlbip_SYSREG_TLBIP_Rt_SYS_PAIRREG_OR_XZR:
case A64_OPID_d5480000_sysp_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt_PAIRREG_OR_XZR:
value = A64_OPID_d5480000_sysp_UIMM3_OP1_CRn_CRm_UIMM3_OP2_Rt_PAIRREG_OR_XZR;
break;
case A64_OPID_d5031000_wfet_Rd:
value = A64_OPID_d5031000_wfet_Rd;
break;
case A64_OPID_d5031020_wfit_Rd:
value = A64_OPID_d5031020_wfit_Rd;
break;
case A64_OPID_05800000_bic_SVE_Zd_SVE_Zd_SVE_INV_LIMM:
case A64_OPID_05800000_and_SVE_Zd_SVE_Zd_SVE_LIMM:
value = A64_OPID_05800000_and_SVE_Zd_SVE_Zd_SVE_LIMM;
break;
case A64_OPID_25004000_mov_SVE_Pd_SVE_Pg4_10_SVE_Pn:
case A64_OPID_25004000_and_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
value = A64_OPID_25004000_and_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
break;
case A64_OPID_25404000_movs_SVE_Pd_SVE_Pg4_10_SVE_Pn:
case A64_OPID_25404000_ands_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
value = A64_OPID_25404000_ands_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
break;
case A64_OPID_24008000_cmple_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_24008000_cmpge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_24008000_cmpge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_24008010_cmplt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_24008010_cmpgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_24008010_cmpgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_24000010_cmplo_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_24000010_cmphi_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_24000010_cmphi_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_24000000_cmpls_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_24000000_cmphs_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_24000000_cmphs_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_05208000_mov_SVE_Zd_SVE_Pg3_SVE_Vn:
case A64_OPID_05208000_cpy_SVE_Zd_SVE_Pg3_SVE_Vn:
value = A64_OPID_05208000_cpy_SVE_Zd_SVE_Pg3_SVE_Vn;
break;
case A64_OPID_0528a000_mov_SVE_Zd_SVE_Pg3_Rn_SP:
case A64_OPID_0528a000_cpy_SVE_Zd_SVE_Pg3_Rn_SP:
value = A64_OPID_0528a000_cpy_SVE_Zd_SVE_Pg3_Rn_SP;
break;
case A64_OPID_05104000_fmov_SVE_Zd_SVE_Pg4_16_FPIMM0:
case A64_OPID_05100000_mov_SVE_Zd_SVE_Pg4_16_SVE_ASIMM:
case A64_OPID_05100000_cpy_SVE_Zd_SVE_Pg4_16_SVE_ASIMM:
value = A64_OPID_05100000_cpy_SVE_Zd_SVE_Pg4_16_SVE_ASIMM;
break;
case A64_OPID_05203800_mov_SVE_Zd_Rn_SP:
case A64_OPID_05203800_dup_SVE_Zd_Rn_SP:
value = A64_OPID_05203800_dup_SVE_Zd_Rn_SP;
break;
case A64_OPID_05202000_mov_SVE_Zd_SVE_Zn_INDEX:
case A64_OPID_05202000_mov_SVE_Zd_SVE_VZn:
case A64_OPID_05202000_dup_SVE_Zd_SVE_Zn_INDEX:
value = A64_OPID_05202000_dup_SVE_Zd_SVE_Zn_INDEX;
break;
case A64_OPID_2538c000_fmov_SVE_Zd_FPIMM0:
case A64_OPID_2538c000_mov_SVE_Zd_SVE_ASIMM:
case A64_OPID_2538c000_dup_SVE_Zd_SVE_ASIMM:
value = A64_OPID_2538c000_dup_SVE_Zd_SVE_ASIMM;
break;
case A64_OPID_05c00000_mov_SVE_Zd_SVE_LIMM_MOV:
case A64_OPID_05c00000_dupm_SVE_Zd_SVE_LIMM:
value = A64_OPID_05c00000_dupm_SVE_Zd_SVE_LIMM;
break;
case A64_OPID_05400000_eon_SVE_Zd_SVE_Zd_SVE_INV_LIMM:
case A64_OPID_05400000_eor_SVE_Zd_SVE_Zd_SVE_LIMM:
value = A64_OPID_05400000_eor_SVE_Zd_SVE_Zd_SVE_LIMM;
break;
case A64_OPID_25004200_not_SVE_Pd_SVE_Pg4_10_SVE_Pn:
case A64_OPID_25004200_eor_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
value = A64_OPID_25004200_eor_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
break;
case A64_OPID_25404200_nots_SVE_Pd_SVE_Pg4_10_SVE_Pn:
case A64_OPID_25404200_eors_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
value = A64_OPID_25404200_eors_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
break;
case A64_OPID_6500c010_facle_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_6500c010_facge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_6500c010_facge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_6500e010_faclt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_6500e010_facgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_6500e010_facgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_65004000_fcmle_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_65004000_fcmge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_65004000_fcmge_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_65004010_fcmlt_SVE_Pd_SVE_Pg3_SVE_Zm_16_SVE_Zn:
case A64_OPID_65004010_fcmgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16:
value = A64_OPID_65004010_fcmgt_SVE_Pd_SVE_Pg3_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_0510c000_fmov_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8:
case A64_OPID_0510c000_fcpy_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8:
value = A64_OPID_0510c000_fcpy_SVE_Zd_SVE_Pg4_16_SVE_FPIMM8;
break;
case A64_OPID_2539c000_fmov_SVE_Zd_SVE_FPIMM8:
case A64_OPID_2539c000_fdup_SVE_Zd_SVE_FPIMM8:
value = A64_OPID_2539c000_fdup_SVE_Zd_SVE_FPIMM8;
break;
case A64_OPID_85800000_ldr_SVE_PNt_SVE_ADDR_RI_S9xVL:
case A64_OPID_85800000_ldr_SVE_Pt_SVE_ADDR_RI_S9xVL:
value = A64_OPID_85800000_ldr_SVE_Pt_SVE_ADDR_RI_S9xVL;
break;
case A64_OPID_04603000_mov_SVE_Zd_SVE_Zn:
case A64_OPID_04603000_orr_SVE_Zd_SVE_Zn_SVE_Zm_16:
value = A64_OPID_04603000_orr_SVE_Zd_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_05000000_orn_SVE_Zd_SVE_Zd_SVE_INV_LIMM:
case A64_OPID_05000000_orr_SVE_Zd_SVE_Zd_SVE_LIMM:
value = A64_OPID_05000000_orr_SVE_Zd_SVE_Zd_SVE_LIMM;
break;
case A64_OPID_25804000_mov_SVE_PNd_SVE_PNn:
case A64_OPID_25804000_mov_SVE_Pd_SVE_Pn:
case A64_OPID_25804000_orr_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
value = A64_OPID_25804000_orr_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
break;
case A64_OPID_25c04000_movs_SVE_Pd_SVE_Pn:
case A64_OPID_25c04000_orrs_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
value = A64_OPID_25c04000_orrs_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
break;
case A64_OPID_2518e400_pfalse_SVE_PNd:
case A64_OPID_2518e400_pfalse_SVE_Pd:
value = A64_OPID_2518e400_pfalse_SVE_Pd;
break;
case A64_OPID_0520c000_mov_SVE_Zd_SVE_Pg4_10_SVE_Zn:
case A64_OPID_0520c000_sel_SVE_Zd_SVE_Pg4_10_SVE_Zn_SVE_Zm_16:
value = A64_OPID_0520c000_sel_SVE_Zd_SVE_Pg4_10_SVE_Zn_SVE_Zm_16;
break;
case A64_OPID_25004210_mov_SVE_Pd_SVE_Pg4_10_SVE_Pn:
case A64_OPID_25004210_sel_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm:
value = A64_OPID_25004210_sel_SVE_Pd_SVE_Pg4_10_SVE_Pn_SVE_Pm;
break;
case A64_OPID_e5800000_str_SVE_PNt_SVE_ADDR_RI_S9xVL:
case A64_OPID_e5800000_str_SVE_Pt_SVE_ADDR_RI_S9xVL:
value = A64_OPID_e5800000_str_SVE_Pt_SVE_ADDR_RI_S9xVL;
break;
case A64_OPID_c0020000_mov_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src:
case A64_OPID_c0020000_mova_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src:
value = A64_OPID_c0020000_mova_SVE_Zd_SVE_Pg3_SME_ZA_HV_idx_src;
break;
case A64_OPID_c0000000_mov_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn:
case A64_OPID_c0000000_mova_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn:
value = A64_OPID_c0000000_mova_SME_ZA_HV_idx_dest_SVE_Pg3_SVE_Zn;
break;
case A64_OPID_25204000_psel_SVE_PNd_SVE_PNg4_10_SME_PnT_Wm_imm:
case A64_OPID_25204000_psel_SVE_Pd_SVE_Pg4_10_SME_PnT_Wm_imm:
value = A64_OPID_25204000_psel_SVE_Pd_SVE_Pg4_10_SME_PnT_Wm_imm;
break;
case A64_OPID_c0060800_mov_SME_Zdnx2_SME_ZA_array_off3_5:
case A64_OPID_c0060800_mova_SME_Zdnx2_SME_ZA_array_off3_5:
value = A64_OPID_c0060800_mova_SME_Zdnx2_SME_ZA_array_off3_5;
break;
case A64_OPID_c0060c00_mov_SME_Zdnx4_SME_ZA_array_off3_5:
case A64_OPID_c0060c00_mova_SME_Zdnx4_SME_ZA_array_off3_5:
value = A64_OPID_c0060c00_mova_SME_Zdnx4_SME_ZA_array_off3_5;
break;
case A64_OPID_c0060000_mov_SME_Zdnx2_SME_ZA_HV_idx_srcxN:
case A64_OPID_c0060000_mova_SME_Zdnx2_SME_ZA_HV_idx_srcxN:
value = A64_OPID_c0060000_mova_SME_Zdnx2_SME_ZA_HV_idx_srcxN;
break;
case A64_OPID_c0060400_mov_SME_Zdnx4_SME_ZA_HV_idx_srcxN:
case A64_OPID_c0060400_mova_SME_Zdnx4_SME_ZA_HV_idx_srcxN:
value = A64_OPID_c0060400_mova_SME_Zdnx4_SME_ZA_HV_idx_srcxN;
break;
case A64_OPID_c0040800_mov_SME_ZA_array_off3_0_SME_Znx2:
case A64_OPID_c0040800_mova_SME_ZA_array_off3_0_SME_Znx2:
value = A64_OPID_c0040800_mova_SME_ZA_array_off3_0_SME_Znx2;
break;
case A64_OPID_c0040c00_mov_SME_ZA_array_off3_0_SME_Znx4:
case A64_OPID_c0040c00_mova_SME_ZA_array_off3_0_SME_Znx4:
value = A64_OPID_c0040c00_mova_SME_ZA_array_off3_0_SME_Znx4;
break;
case A64_OPID_c0040000_mov_SME_ZA_HV_idx_destxN_SME_Znx2:
case A64_OPID_c0040000_mova_SME_ZA_HV_idx_destxN_SME_Znx2:
value = A64_OPID_c0040000_mova_SME_ZA_HV_idx_destxN_SME_Znx2;
break;
case A64_OPID_c0040400_mov_SME_ZA_HV_idx_destxN_SME_Znx4:
case A64_OPID_c0040400_mova_SME_ZA_HV_idx_destxN_SME_Znx4:
value = A64_OPID_c0040400_mova_SME_ZA_HV_idx_destxN_SME_Znx4;
break;
default: return NULL;
}
return aarch64_opcode_table + value;
}
bool
aarch64_insert_operand (const aarch64_operand *self,
const aarch64_opnd_info *info,
aarch64_insn *code, const aarch64_inst *inst,
aarch64_operand_error *errors)
{
/* Use the index as the key. */
enum aarch64_opnd key = self - aarch64_operands;
switch (key)
{
case AARCH64_OPND_Rd:
case AARCH64_OPND_Rn:
case AARCH64_OPND_Rm:
case AARCH64_OPND_Rt:
case AARCH64_OPND_Rt2:
case AARCH64_OPND_Rt_LS64:
case AARCH64_OPND_Rt_SP:
case AARCH64_OPND_Rs:
case AARCH64_OPND_Ra:
case AARCH64_OPND_Rt_SYS:
case AARCH64_OPND_Rd_SP:
case AARCH64_OPND_Rn_SP:
case AARCH64_OPND_Rm_SP:
case AARCH64_OPND_Fd:
case AARCH64_OPND_Fn:
case AARCH64_OPND_Fm:
case AARCH64_OPND_Fa:
case AARCH64_OPND_Ft2:
case AARCH64_OPND_Sd:
case AARCH64_OPND_Sn:
case AARCH64_OPND_Sm:
case AARCH64_OPND_Va:
case AARCH64_OPND_Vd:
case AARCH64_OPND_Vn:
case AARCH64_OPND_Vm:
case AARCH64_OPND_VdD1:
case AARCH64_OPND_VnD1:
case AARCH64_OPND_Rt_IN_SYS_ALIASES:
case AARCH64_OPND_LSE128_Rt:
case AARCH64_OPND_LSE128_Rt2:
case AARCH64_OPND_SVE_Pd:
case AARCH64_OPND_SVE_PNd:
case AARCH64_OPND_SVE_Pg3:
case AARCH64_OPND_SVE_Pg4_5:
case AARCH64_OPND_SVE_Pg4_10:
case AARCH64_OPND_SVE_PNg4_10:
case AARCH64_OPND_SVE_Pg4_16:
case AARCH64_OPND_SVE_Pm:
case AARCH64_OPND_SVE_Pn:
case AARCH64_OPND_SVE_PNn:
case AARCH64_OPND_SVE_Pt:
case AARCH64_OPND_SVE_PNt:
case AARCH64_OPND_SVE_Rm:
case AARCH64_OPND_SVE_Rn_SP:
case AARCH64_OPND_SVE_VZn:
case AARCH64_OPND_SVE_Vd:
case AARCH64_OPND_SVE_Vm:
case AARCH64_OPND_SVE_Vn:
case AARCH64_OPND_SVE_Za_5:
case AARCH64_OPND_SVE_Za_16:
case AARCH64_OPND_SVE_Zd:
case AARCH64_OPND_SVE_Zm_5:
case AARCH64_OPND_SVE_Zm_16:
case AARCH64_OPND_SVE_Zn:
case AARCH64_OPND_SVE_Zt:
case AARCH64_OPND_SME_Zm:
case AARCH64_OPND_SME_Zm_17:
case AARCH64_OPND_SME_ZAda_1b:
case AARCH64_OPND_SME_ZAda_2b:
case AARCH64_OPND_SME_ZAda_3b:
case AARCH64_OPND_SME_Pm:
case AARCH64_OPND_SME_PNd3:
case AARCH64_OPND_SME_PNg3:
case AARCH64_OPND_SME_PNn:
case AARCH64_OPND_SVE_Zn0_INDEX:
case AARCH64_OPND_SVE_Zd0_INDEX:
return aarch64_ins_regno (self, info, code, inst, errors);
case AARCH64_OPND_X16:
case AARCH64_OPND_BARRIER_PSB:
case AARCH64_OPND_BARRIER_GCSB:
case AARCH64_OPND_SME_ZT0:
case AARCH64_OPND_SME_ZT0_LIST:
return aarch64_ins_none (self, info, code, inst, errors);
case AARCH64_OPND_Rm_EXT:
return aarch64_ins_reg_extended (self, info, code, inst, errors);
case AARCH64_OPND_Rm_SFT:
return aarch64_ins_reg_shifted (self, info, code, inst, errors);
case AARCH64_OPND_Rm_LSL:
return aarch64_ins_reg_lsl_shifted (self, info, code, inst, errors);
case AARCH64_OPND_Ft:
return aarch64_ins_ft (self, info, code, inst, errors);
case AARCH64_OPND_Ed:
case AARCH64_OPND_En:
case AARCH64_OPND_Em:
case AARCH64_OPND_Em16:
case AARCH64_OPND_Em8:
case AARCH64_OPND_SM3_IMM2:
return aarch64_ins_reglane (self, info, code, inst, errors);
case AARCH64_OPND_Em_INDEX1_14:
case AARCH64_OPND_Em_INDEX2_13:
case AARCH64_OPND_Em_INDEX3_12:
case AARCH64_OPND_SVE_Zm1_23_INDEX:
case AARCH64_OPND_SVE_Zm2_22_INDEX:
case AARCH64_OPND_SVE_Zm3_12_INDEX:
case AARCH64_OPND_SME_PNn3_INDEX1:
case AARCH64_OPND_SME_PNn3_INDEX2:
case AARCH64_OPND_SME_Zm_INDEX1:
case AARCH64_OPND_SME_Zm_INDEX2:
case AARCH64_OPND_SME_Zm_INDEX2_3:
case AARCH64_OPND_SME_Zm_INDEX3_1:
case AARCH64_OPND_SME_Zm_INDEX3_2:
case AARCH64_OPND_SME_Zm_INDEX3_3:
case AARCH64_OPND_SME_Zm_INDEX3_10:
case AARCH64_OPND_SME_Zm_INDEX4_1:
case AARCH64_OPND_SME_Zm_INDEX4_2:
case AARCH64_OPND_SME_Zm_INDEX4_3:
case AARCH64_OPND_SME_Zm_INDEX4_10:
case AARCH64_OPND_SME_Zn_INDEX1_16:
case AARCH64_OPND_SME_Zn_INDEX2_15:
case AARCH64_OPND_SME_Zn_INDEX2_16:
case AARCH64_OPND_SME_Zn_INDEX2_19:
case AARCH64_OPND_SME_Zn_INDEX3_14:
case AARCH64_OPND_SME_Zn_INDEX3_15:
case AARCH64_OPND_SME_Zn_INDEX4_14:
case AARCH64_OPND_SVE_Zn1_17_INDEX:
case AARCH64_OPND_SVE_Zn2_18_INDEX:
case AARCH64_OPND_SVE_Zn3_22_INDEX:
case AARCH64_OPND_SVE_Zd1_17_INDEX:
case AARCH64_OPND_SVE_Zd2_18_INDEX:
case AARCH64_OPND_SVE_Zd3_22_INDEX:
return aarch64_ins_simple_index (self, info, code, inst, errors);
case AARCH64_OPND_LVn:
return aarch64_ins_reglist (self, info, code, inst, errors);
case AARCH64_OPND_LVt:
return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
case AARCH64_OPND_LVt_AL:
return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
case AARCH64_OPND_LVn_LUT:
return aarch64_ins_lut_reglist (self, info, code, inst, errors);
case AARCH64_OPND_LEt:
return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
case AARCH64_OPND_CRn:
case AARCH64_OPND_CRm:
case AARCH64_OPND_IDX:
case AARCH64_OPND_MASK:
case AARCH64_OPND_IMMR:
case AARCH64_OPND_IMMS:
case AARCH64_OPND_WIDTH:
case AARCH64_OPND_IMM:
case AARCH64_OPND_IMM_2:
case AARCH64_OPND_IMMP1_2:
case AARCH64_OPND_IMMS1_2:
case AARCH64_OPND_UIMM3_OP1:
case AARCH64_OPND_UIMM3_OP2:
case AARCH64_OPND_UIMM4:
case AARCH64_OPND_UIMM4_ADDG:
case AARCH64_OPND_UIMM7:
case AARCH64_OPND_UIMM10:
case AARCH64_OPND_BIT_NUM:
case AARCH64_OPND_EXCEPTION:
case AARCH64_OPND_UNDEFINED:
case AARCH64_OPND_CCMP_IMM:
case AARCH64_OPND_SIMM5:
case AARCH64_OPND_NZCV:
case AARCH64_OPND_ADDR_PCREL9:
case AARCH64_OPND_ADDR_PCREL14:
case AARCH64_OPND_ADDR_PCREL19:
case AARCH64_OPND_ADDR_PCREL21:
case AARCH64_OPND_ADDR_PCREL26:
case AARCH64_OPND_RPRFMOP:
case AARCH64_OPND_BRBOP:
case AARCH64_OPND_SVE_PATTERN:
case AARCH64_OPND_SVE_PRFOP:
case AARCH64_OPND_SVE_SIMM5:
case AARCH64_OPND_SVE_SIMM5B:
case AARCH64_OPND_SVE_SIMM6:
case AARCH64_OPND_SVE_SIMM8:
case AARCH64_OPND_SVE_UIMM3:
case AARCH64_OPND_SVE_UIMM7:
case AARCH64_OPND_SVE_UIMM8:
case AARCH64_OPND_SVE_UIMM8_53:
case AARCH64_OPND_SVE_UIMM4:
case AARCH64_OPND_SME_list_of_64bit_tiles:
case AARCH64_OPND_SME_VLxN_10:
case AARCH64_OPND_SME_VLxN_13:
case AARCH64_OPND_SME_ZT0_INDEX:
case AARCH64_OPND_SME_ZT0_INDEX_MUL_VL:
case AARCH64_OPND_TME_UIMM16:
case AARCH64_OPND_CSSC_SIMM8:
case AARCH64_OPND_CSSC_UIMM8:
return aarch64_ins_imm (self, info, code, inst, errors);
case AARCH64_OPND_IMM_VLSL:
case AARCH64_OPND_IMM_VLSR:
return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
case AARCH64_OPND_SIMD_IMM:
case AARCH64_OPND_SIMD_IMM_SFT:
case AARCH64_OPND_SIMD_FPIMM:
return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
case AARCH64_OPND_FPIMM:
case AARCH64_OPND_SVE_FPIMM8:
return aarch64_ins_fpimm (self, info, code, inst, errors);
case AARCH64_OPND_LIMM:
case AARCH64_OPND_SVE_LIMM:
return aarch64_ins_limm (self, info, code, inst, errors);
case AARCH64_OPND_AIMM:
return aarch64_ins_aimm (self, info, code, inst, errors);
case AARCH64_OPND_HALF:
return aarch64_ins_imm_half (self, info, code, inst, errors);
case AARCH64_OPND_FBITS:
return aarch64_ins_fbits (self, info, code, inst, errors);
case AARCH64_OPND_IMM_ROT1:
case AARCH64_OPND_IMM_ROT2:
case AARCH64_OPND_SVE_IMM_ROT2:
return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
case AARCH64_OPND_IMM_ROT3:
case AARCH64_OPND_SVE_IMM_ROT1:
case AARCH64_OPND_SVE_IMM_ROT3:
return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
case AARCH64_OPND_COND:
case AARCH64_OPND_COND1:
return aarch64_ins_cond (self, info, code, inst, errors);
case AARCH64_OPND_ADDR_SIMPLE:
case AARCH64_OPND_SIMD_ADDR_SIMPLE:
return aarch64_ins_addr_simple (self, info, code, inst, errors);
case AARCH64_OPND_ADDR_REGOFF:
return aarch64_ins_addr_regoff (self, info, code, inst, errors);
case AARCH64_OPND_ADDR_SIMM7:
case AARCH64_OPND_ADDR_SIMM9:
case AARCH64_OPND_ADDR_SIMM9_2:
case AARCH64_OPND_ADDR_SIMM11:
case AARCH64_OPND_ADDR_SIMM13:
return aarch64_ins_addr_simm (self, info, code, inst, errors);
case AARCH64_OPND_ADDR_SIMM10:
return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
case AARCH64_OPND_ADDR_UIMM12:
return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
case AARCH64_OPND_ADDR_OFFSET:
return aarch64_ins_addr_offset (self, info, code, inst, errors);
case AARCH64_OPND_SIMD_ADDR_POST:
return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
case AARCH64_OPND_SYSREG:
case AARCH64_OPND_SYSREG128:
return aarch64_ins_sysreg (self, info, code, inst, errors);
case AARCH64_OPND_PSTATEFIELD:
return aarch64_ins_pstatefield (self, info, code, inst, errors);
case AARCH64_OPND_SYSREG_AT:
case AARCH64_OPND_SYSREG_DC:
case AARCH64_OPND_SYSREG_IC:
case AARCH64_OPND_SYSREG_TLBI:
case AARCH64_OPND_SYSREG_TLBIP:
case AARCH64_OPND_SYSREG_SR:
return aarch64_ins_sysins_op (self, info, code, inst, errors);
case AARCH64_OPND_BARRIER:
case AARCH64_OPND_BARRIER_ISB:
return aarch64_ins_barrier (self, info, code, inst, errors);
case AARCH64_OPND_BARRIER_DSB_NXS:
return aarch64_ins_barrier_dsb_nxs (self, info, code, inst, errors);
case AARCH64_OPND_PRFOP:
return aarch64_ins_prfop (self, info, code, inst, errors);
case AARCH64_OPND_BTI_TARGET:
case AARCH64_OPND_STSHH_POLICY:
return aarch64_ins_hint (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_RI_S4x16:
case AARCH64_OPND_SVE_ADDR_RI_S4x32:
return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_RI_S4xVL:
case AARCH64_OPND_SVE_ADDR_RI_S4x2xVL:
case AARCH64_OPND_SVE_ADDR_RI_S4x3xVL:
case AARCH64_OPND_SVE_ADDR_RI_S4x4xVL:
return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_RI_S6xVL:
return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_RI_S9xVL:
return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_RI_U6:
case AARCH64_OPND_SVE_ADDR_RI_U6x2:
case AARCH64_OPND_SVE_ADDR_RI_U6x4:
case AARCH64_OPND_SVE_ADDR_RI_U6x8:
return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_RR:
case AARCH64_OPND_SVE_ADDR_RR_LSL1:
case AARCH64_OPND_SVE_ADDR_RR_LSL2:
case AARCH64_OPND_SVE_ADDR_RR_LSL3:
case AARCH64_OPND_SVE_ADDR_RR_LSL4:
case AARCH64_OPND_SVE_ADDR_RM:
case AARCH64_OPND_SVE_ADDR_RM_LSL1:
case AARCH64_OPND_SVE_ADDR_RM_LSL2:
case AARCH64_OPND_SVE_ADDR_RM_LSL3:
case AARCH64_OPND_SVE_ADDR_RM_LSL4:
case AARCH64_OPND_SVE_ADDR_RX:
case AARCH64_OPND_SVE_ADDR_RX_LSL1:
case AARCH64_OPND_SVE_ADDR_RX_LSL2:
case AARCH64_OPND_SVE_ADDR_RX_LSL3:
case AARCH64_OPND_SVE_ADDR_RX_LSL4:
case AARCH64_OPND_SVE_ADDR_ZX:
case AARCH64_OPND_SVE_ADDR_RZ:
case AARCH64_OPND_SVE_ADDR_RZ_LSL1:
case AARCH64_OPND_SVE_ADDR_RZ_LSL2:
case AARCH64_OPND_SVE_ADDR_RZ_LSL3:
return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_RZ_XTW_14:
case AARCH64_OPND_SVE_ADDR_RZ_XTW_22:
case AARCH64_OPND_SVE_ADDR_RZ_XTW1_14:
case AARCH64_OPND_SVE_ADDR_RZ_XTW1_22:
case AARCH64_OPND_SVE_ADDR_RZ_XTW2_14:
case AARCH64_OPND_SVE_ADDR_RZ_XTW2_22:
case AARCH64_OPND_SVE_ADDR_RZ_XTW3_14:
case AARCH64_OPND_SVE_ADDR_RZ_XTW3_22:
return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_ZI_U5:
case AARCH64_OPND_SVE_ADDR_ZI_U5x2:
case AARCH64_OPND_SVE_ADDR_ZI_U5x4:
case AARCH64_OPND_SVE_ADDR_ZI_U5x8:
return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_ZZ_LSL:
return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_ZZ_SXTW:
return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ADDR_ZZ_UXTW:
return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
case AARCH64_OPND_SVE_AIMM:
return aarch64_ins_sve_aimm (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ASIMM:
return aarch64_ins_sve_asimm (self, info, code, inst, errors);
case AARCH64_OPND_SVE_I1_HALF_ONE:
return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
case AARCH64_OPND_SVE_I1_HALF_TWO:
return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
case AARCH64_OPND_SVE_I1_ZERO_ONE:
return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
case AARCH64_OPND_SVE_INV_LIMM:
return aarch64_ins_inv_limm (self, info, code, inst, errors);
case AARCH64_OPND_SVE_LIMM_MOV:
return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
case AARCH64_OPND_SVE_PATTERN_SCALED:
return aarch64_ins_sve_scale (self, info, code, inst, errors);
case AARCH64_OPND_SVE_SHLIMM_PRED:
case AARCH64_OPND_SVE_SHLIMM_UNPRED:
case AARCH64_OPND_SVE_SHLIMM_UNPRED_22:
return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
case AARCH64_OPND_SVE_SHRIMM_PRED:
case AARCH64_OPND_SVE_SHRIMM_UNPRED:
case AARCH64_OPND_SVE_SHRIMM_UNPRED_22:
case AARCH64_OPND_SME_SHRIMM5:
return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
case AARCH64_OPND_SME_ZA_array_vrsb_1:
case AARCH64_OPND_SME_ZA_array_vrsh_1:
case AARCH64_OPND_SME_ZA_array_vrss_1:
case AARCH64_OPND_SME_ZA_array_vrsd_1:
return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors);
case AARCH64_OPND_SME_ZA_array_vrsb_2:
case AARCH64_OPND_SME_ZA_array_vrsh_2:
case AARCH64_OPND_SME_ZA_array_vrss_2:
case AARCH64_OPND_SME_ZA_array_vrsd_2:
return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors);
case AARCH64_OPND_SME_ZA_ARRAY4:
return aarch64_ins_sme_za_tile_to_vec (self, info, code, inst, errors);
case AARCH64_OPND_SVE_Zm3_INDEX:
case AARCH64_OPND_SVE_Zm3_11_INDEX:
case AARCH64_OPND_SVE_Zm3_19_INDEX:
case AARCH64_OPND_SVE_Zm3_22_INDEX:
case AARCH64_OPND_SVE_Zm3_10_INDEX:
case AARCH64_OPND_SVE_Zm4_11_INDEX:
case AARCH64_OPND_SVE_Zm4_INDEX:
return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
case AARCH64_OPND_SVE_Zn_INDEX:
case AARCH64_OPND_SVE_Zn_5_INDEX:
return aarch64_ins_sve_index (self, info, code, inst, errors);
case AARCH64_OPND_SVE_ZnxN:
case AARCH64_OPND_SVE_ZtxN:
case AARCH64_OPND_SME_PdxN:
return aarch64_ins_sve_reglist (self, info, code, inst, errors);
case AARCH64_OPND_SME_Zdnx2:
case AARCH64_OPND_SME_Zdnx4:
case AARCH64_OPND_SME_Zmx2:
case AARCH64_OPND_SME_Zmx4:
case AARCH64_OPND_SME_Znx2:
case AARCH64_OPND_SME_Znx2_BIT_INDEX:
case AARCH64_OPND_SME_Znx4:
case AARCH64_OPND_SME_Pdx2:
return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
case AARCH64_OPND_SME_Ztx2_STRIDED:
case AARCH64_OPND_SME_Ztx4_STRIDED:
return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
case AARCH64_OPND_SME_ZA_HV_idx_src:
case AARCH64_OPND_SME_ZA_HV_idx_dest:
case AARCH64_OPND_SME_ZA_HV_idx_ldstr:
return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
case AARCH64_OPND_SME_ZA_HV_idx_srcxN:
case AARCH64_OPND_SME_ZA_HV_idx_destxN:
return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
case AARCH64_OPND_SME_ZA_array_off1x4:
case AARCH64_OPND_SME_ZA_array_off2x2:
case AARCH64_OPND_SME_ZA_array_off2x4:
case AARCH64_OPND_SME_ZA_array_off3_0:
case AARCH64_OPND_SME_ZA_array_off3_5:
case AARCH64_OPND_SME_ZA_array_off3x2:
case AARCH64_OPND_SME_ZA_array_off4:
return aarch64_ins_sme_za_array (self, info, code, inst, errors);
case AARCH64_OPND_SME_ADDR_RI_U4xVL:
return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
case AARCH64_OPND_SME_SM_ZA:
return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
case AARCH64_OPND_SME_PnT_Wm_imm:
return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
case AARCH64_OPND_SME_SHRIMM4:
return aarch64_ins_plain_shrimm (self, info, code, inst, errors);
case AARCH64_OPND_MOPS_ADDR_Rd:
case AARCH64_OPND_MOPS_ADDR_Rs:
case AARCH64_OPND_MOPS_WB_Rn:
return aarch64_ins_x0_to_x30 (self, info, code, inst, errors);
case AARCH64_OPND_RCPC3_ADDR_OPT_POSTIND:
case AARCH64_OPND_RCPC3_ADDR_OPT_PREIND_WB:
case AARCH64_OPND_RCPC3_ADDR_POSTIND:
case AARCH64_OPND_RCPC3_ADDR_PREIND_WB:
return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors);
case AARCH64_OPND_RCPC3_ADDR_OFFSET:
return aarch64_ins_rcpc3_addr_offset (self, info, code, inst, errors);
default: assert (0); abort ();
}
}
|