Coverage Report

Created: 2024-08-21 06:24

/src/capstonenext/arch/Alpha/AlphaGenDisassemblerTables.inc
Line
Count
Source (jump to first uncovered line)
1
/* Capstone Disassembly Engine, https://www.capstone-engine.org */
2
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2022, */
3
/*    Rot127 <unisono@quyllur.org> 2022-2023 */
4
/* Automatically generated file by Capstone's LLVM TableGen Disassembler Backend. */
5
6
/* LLVM-commit: 083d57d0731afc1746680d828bdfe2fa41f62a61 */
7
/* LLVM-tag: llvmorg-3.0.0-2-g083d57d0731a */
8
9
/* Do not edit. */
10
11
/* Capstone's LLVM TableGen Backends: */
12
/* https://github.com/capstone-engine/llvm-capstone */
13
14
#include "../../MCInst.h"
15
#include "../../LEB128.h"
16
17
// Helper function for extracting fields from encoded instructions.
18
#define FieldFromInstruction(fname, InsnType) \
19
0
static InsnType fname(InsnType insn, unsigned startBit, unsigned numBits) \
20
0
{ \
21
0
  InsnType fieldMask; \
22
0
  if (numBits == sizeof(InsnType) * 8) \
23
0
    fieldMask = (InsnType)(-1LL); \
24
0
  else \
25
0
    fieldMask = (((InsnType)1 << numBits) - 1) << startBit; \
26
0
  return (insn & fieldMask) >> startBit; \
27
0
}
28
29
static const uint8_t DecoderTable32[] = {
30
/* 0 */       MCD_OPC_ExtractField, 26, 6,  // Inst{31-26} ...
31
/* 3 */       MCD_OPC_FilterValue, 0, 4, 0, 0, // Skip to: 12
32
/* 8 */       MCD_OPC_Decode, 190, 2, 0, // Opcode: COND_BRANCH_I
33
/* 12 */      MCD_OPC_FilterValue, 8, 4, 0, 0, // Skip to: 21
34
/* 17 */      MCD_OPC_Decode, 144, 3, 1, // Opcode: LDA
35
/* 21 */      MCD_OPC_FilterValue, 9, 4, 0, 0, // Skip to: 30
36
/* 26 */      MCD_OPC_Decode, 145, 3, 1, // Opcode: LDAH
37
/* 30 */      MCD_OPC_FilterValue, 10, 4, 0, 0, // Skip to: 39
38
/* 35 */      MCD_OPC_Decode, 150, 3, 1, // Opcode: LDBU
39
/* 39 */      MCD_OPC_FilterValue, 11, 4, 0, 0, // Skip to: 48
40
/* 44 */      MCD_OPC_Decode, 157, 3, 1, // Opcode: LDQ_U
41
/* 48 */      MCD_OPC_FilterValue, 12, 4, 0, 0, // Skip to: 57
42
/* 53 */      MCD_OPC_Decode, 164, 3, 1, // Opcode: LDWU
43
/* 57 */      MCD_OPC_FilterValue, 13, 4, 0, 0, // Skip to: 66
44
/* 62 */      MCD_OPC_Decode, 233, 3, 1, // Opcode: STW
45
/* 66 */      MCD_OPC_FilterValue, 14, 4, 0, 0, // Skip to: 75
46
/* 71 */      MCD_OPC_Decode, 220, 3, 1, // Opcode: STB
47
/* 75 */      MCD_OPC_FilterValue, 15, 4, 0, 0, // Skip to: 84
48
/* 80 */      MCD_OPC_Decode, 227, 3, 1, // Opcode: STQ_U
49
/* 84 */      MCD_OPC_FilterValue, 16, 215, 1, 0, // Skip to: 560
50
/* 89 */      MCD_OPC_ExtractField, 5, 8,  // Inst{12-5} ...
51
/* 92 */      MCD_OPC_FilterValue, 0, 11, 0, 0, // Skip to: 108
52
/* 97 */      MCD_OPC_CheckField, 13, 3, 0, 43, 10, 0, // Skip to: 2707
53
/* 104 */     MCD_OPC_Decode, 136, 2, 2, // Opcode: ADDLr
54
/* 108 */     MCD_OPC_FilterValue, 2, 11, 0, 0, // Skip to: 124
55
/* 113 */     MCD_OPC_CheckField, 13, 3, 0, 27, 10, 0, // Skip to: 2707
56
/* 120 */     MCD_OPC_Decode, 195, 3, 2, // Opcode: S4ADDLr
57
/* 124 */     MCD_OPC_FilterValue, 9, 11, 0, 0, // Skip to: 140
58
/* 129 */     MCD_OPC_CheckField, 13, 3, 0, 11, 10, 0, // Skip to: 2707
59
/* 136 */     MCD_OPC_Decode, 236, 3, 2, // Opcode: SUBLr
60
/* 140 */     MCD_OPC_FilterValue, 11, 11, 0, 0, // Skip to: 156
61
/* 145 */     MCD_OPC_CheckField, 13, 3, 0, 251, 9, 0, // Skip to: 2707
62
/* 152 */     MCD_OPC_Decode, 199, 3, 2, // Opcode: S4SUBLr
63
/* 156 */     MCD_OPC_FilterValue, 15, 11, 0, 0, // Skip to: 172
64
/* 161 */     MCD_OPC_CheckField, 13, 3, 0, 235, 9, 0, // Skip to: 2707
65
/* 168 */     MCD_OPC_Decode, 173, 2, 2, // Opcode: CMPBGE
66
/* 172 */     MCD_OPC_FilterValue, 18, 11, 0, 0, // Skip to: 188
67
/* 177 */     MCD_OPC_CheckField, 13, 3, 0, 219, 9, 0, // Skip to: 2707
68
/* 184 */     MCD_OPC_Decode, 203, 3, 2, // Opcode: S8ADDLr
69
/* 188 */     MCD_OPC_FilterValue, 27, 11, 0, 0, // Skip to: 204
70
/* 193 */     MCD_OPC_CheckField, 13, 3, 0, 203, 9, 0, // Skip to: 2707
71
/* 200 */     MCD_OPC_Decode, 207, 3, 2, // Opcode: S8SUBLr
72
/* 204 */     MCD_OPC_FilterValue, 29, 11, 0, 0, // Skip to: 220
73
/* 209 */     MCD_OPC_CheckField, 13, 3, 0, 187, 9, 0, // Skip to: 2707
74
/* 216 */     MCD_OPC_Decode, 187, 2, 2, // Opcode: CMPULT
75
/* 220 */     MCD_OPC_FilterValue, 32, 11, 0, 0, // Skip to: 236
76
/* 225 */     MCD_OPC_CheckField, 13, 3, 0, 171, 9, 0, // Skip to: 2707
77
/* 232 */     MCD_OPC_Decode, 138, 2, 2, // Opcode: ADDQr
78
/* 236 */     MCD_OPC_FilterValue, 34, 11, 0, 0, // Skip to: 252
79
/* 241 */     MCD_OPC_CheckField, 13, 3, 0, 155, 9, 0, // Skip to: 2707
80
/* 248 */     MCD_OPC_Decode, 197, 3, 2, // Opcode: S4ADDQr
81
/* 252 */     MCD_OPC_FilterValue, 41, 11, 0, 0, // Skip to: 268
82
/* 257 */     MCD_OPC_CheckField, 13, 3, 0, 139, 9, 0, // Skip to: 2707
83
/* 264 */     MCD_OPC_Decode, 238, 3, 2, // Opcode: SUBQr
84
/* 268 */     MCD_OPC_FilterValue, 43, 11, 0, 0, // Skip to: 284
85
/* 273 */     MCD_OPC_CheckField, 13, 3, 0, 123, 9, 0, // Skip to: 2707
86
/* 280 */     MCD_OPC_Decode, 201, 3, 2, // Opcode: S4SUBQr
87
/* 284 */     MCD_OPC_FilterValue, 45, 11, 0, 0, // Skip to: 300
88
/* 289 */     MCD_OPC_CheckField, 13, 3, 0, 107, 9, 0, // Skip to: 2707
89
/* 296 */     MCD_OPC_Decode, 175, 2, 2, // Opcode: CMPEQ
90
/* 300 */     MCD_OPC_FilterValue, 50, 11, 0, 0, // Skip to: 316
91
/* 305 */     MCD_OPC_CheckField, 13, 3, 0, 91, 9, 0, // Skip to: 2707
92
/* 312 */     MCD_OPC_Decode, 205, 3, 2, // Opcode: S8ADDQr
93
/* 316 */     MCD_OPC_FilterValue, 59, 11, 0, 0, // Skip to: 332
94
/* 321 */     MCD_OPC_CheckField, 13, 3, 0, 75, 9, 0, // Skip to: 2707
95
/* 328 */     MCD_OPC_Decode, 209, 3, 2, // Opcode: S8SUBQr
96
/* 332 */     MCD_OPC_FilterValue, 61, 11, 0, 0, // Skip to: 348
97
/* 337 */     MCD_OPC_CheckField, 13, 3, 0, 59, 9, 0, // Skip to: 2707
98
/* 344 */     MCD_OPC_Decode, 185, 2, 2, // Opcode: CMPULE
99
/* 348 */     MCD_OPC_FilterValue, 77, 11, 0, 0, // Skip to: 364
100
/* 353 */     MCD_OPC_CheckField, 13, 3, 0, 43, 9, 0, // Skip to: 2707
101
/* 360 */     MCD_OPC_Decode, 179, 2, 2, // Opcode: CMPLT
102
/* 364 */     MCD_OPC_FilterValue, 109, 11, 0, 0, // Skip to: 380
103
/* 369 */     MCD_OPC_CheckField, 13, 3, 0, 27, 9, 0, // Skip to: 2707
104
/* 376 */     MCD_OPC_Decode, 177, 2, 2, // Opcode: CMPLE
105
/* 380 */     MCD_OPC_FilterValue, 128, 1, 4, 0, 0, // Skip to: 390
106
/* 386 */     MCD_OPC_Decode, 135, 2, 3, // Opcode: ADDLi
107
/* 390 */     MCD_OPC_FilterValue, 130, 1, 4, 0, 0, // Skip to: 400
108
/* 396 */     MCD_OPC_Decode, 194, 3, 3, // Opcode: S4ADDLi
109
/* 400 */     MCD_OPC_FilterValue, 137, 1, 4, 0, 0, // Skip to: 410
110
/* 406 */     MCD_OPC_Decode, 235, 3, 3, // Opcode: SUBLi
111
/* 410 */     MCD_OPC_FilterValue, 139, 1, 4, 0, 0, // Skip to: 420
112
/* 416 */     MCD_OPC_Decode, 198, 3, 3, // Opcode: S4SUBLi
113
/* 420 */     MCD_OPC_FilterValue, 143, 1, 4, 0, 0, // Skip to: 430
114
/* 426 */     MCD_OPC_Decode, 174, 2, 3, // Opcode: CMPBGEi
115
/* 430 */     MCD_OPC_FilterValue, 146, 1, 4, 0, 0, // Skip to: 440
116
/* 436 */     MCD_OPC_Decode, 202, 3, 3, // Opcode: S8ADDLi
117
/* 440 */     MCD_OPC_FilterValue, 155, 1, 4, 0, 0, // Skip to: 450
118
/* 446 */     MCD_OPC_Decode, 206, 3, 3, // Opcode: S8SUBLi
119
/* 450 */     MCD_OPC_FilterValue, 157, 1, 4, 0, 0, // Skip to: 460
120
/* 456 */     MCD_OPC_Decode, 188, 2, 3, // Opcode: CMPULTi
121
/* 460 */     MCD_OPC_FilterValue, 160, 1, 4, 0, 0, // Skip to: 470
122
/* 466 */     MCD_OPC_Decode, 137, 2, 3, // Opcode: ADDQi
123
/* 470 */     MCD_OPC_FilterValue, 162, 1, 4, 0, 0, // Skip to: 480
124
/* 476 */     MCD_OPC_Decode, 196, 3, 3, // Opcode: S4ADDQi
125
/* 480 */     MCD_OPC_FilterValue, 169, 1, 4, 0, 0, // Skip to: 490
126
/* 486 */     MCD_OPC_Decode, 237, 3, 3, // Opcode: SUBQi
127
/* 490 */     MCD_OPC_FilterValue, 171, 1, 4, 0, 0, // Skip to: 500
128
/* 496 */     MCD_OPC_Decode, 200, 3, 3, // Opcode: S4SUBQi
129
/* 500 */     MCD_OPC_FilterValue, 173, 1, 4, 0, 0, // Skip to: 510
130
/* 506 */     MCD_OPC_Decode, 176, 2, 3, // Opcode: CMPEQi
131
/* 510 */     MCD_OPC_FilterValue, 178, 1, 4, 0, 0, // Skip to: 520
132
/* 516 */     MCD_OPC_Decode, 204, 3, 3, // Opcode: S8ADDQi
133
/* 520 */     MCD_OPC_FilterValue, 187, 1, 4, 0, 0, // Skip to: 530
134
/* 526 */     MCD_OPC_Decode, 208, 3, 3, // Opcode: S8SUBQi
135
/* 530 */     MCD_OPC_FilterValue, 189, 1, 4, 0, 0, // Skip to: 540
136
/* 536 */     MCD_OPC_Decode, 186, 2, 3, // Opcode: CMPULEi
137
/* 540 */     MCD_OPC_FilterValue, 205, 1, 4, 0, 0, // Skip to: 550
138
/* 546 */     MCD_OPC_Decode, 180, 2, 3, // Opcode: CMPLTi
139
/* 550 */     MCD_OPC_FilterValue, 237, 1, 103, 8, 0, // Skip to: 2707
140
/* 556 */     MCD_OPC_Decode, 178, 2, 3, // Opcode: CMPLEi
141
/* 560 */     MCD_OPC_FilterValue, 17, 111, 1, 0, // Skip to: 932
142
/* 565 */     MCD_OPC_ExtractField, 5, 8,  // Inst{12-5} ...
143
/* 568 */     MCD_OPC_FilterValue, 0, 11, 0, 0, // Skip to: 584
144
/* 573 */     MCD_OPC_CheckField, 13, 3, 0, 79, 8, 0, // Skip to: 2707
145
/* 580 */     MCD_OPC_Decode, 142, 2, 2, // Opcode: ANDr
146
/* 584 */     MCD_OPC_FilterValue, 8, 11, 0, 0, // Skip to: 600
147
/* 589 */     MCD_OPC_CheckField, 13, 3, 0, 63, 8, 0, // Skip to: 2707
148
/* 596 */     MCD_OPC_Decode, 147, 2, 2, // Opcode: BICr
149
/* 600 */     MCD_OPC_FilterValue, 20, 11, 0, 0, // Skip to: 616
150
/* 605 */     MCD_OPC_CheckField, 13, 3, 0, 47, 8, 0, // Skip to: 2707
151
/* 612 */     MCD_OPC_Decode, 166, 2, 4, // Opcode: CMOVLBSr
152
/* 616 */     MCD_OPC_FilterValue, 22, 11, 0, 0, // Skip to: 632
153
/* 621 */     MCD_OPC_CheckField, 13, 3, 0, 31, 8, 0, // Skip to: 2707
154
/* 628 */     MCD_OPC_Decode, 164, 2, 4, // Opcode: CMOVLBCr
155
/* 632 */     MCD_OPC_FilterValue, 32, 11, 0, 0, // Skip to: 648
156
/* 637 */     MCD_OPC_CheckField, 13, 3, 0, 15, 8, 0, // Skip to: 2707
157
/* 644 */     MCD_OPC_Decode, 149, 2, 2, // Opcode: BISr
158
/* 648 */     MCD_OPC_FilterValue, 36, 11, 0, 0, // Skip to: 664
159
/* 653 */     MCD_OPC_CheckField, 13, 3, 0, 255, 7, 0, // Skip to: 2707
160
/* 660 */     MCD_OPC_Decode, 158, 2, 4, // Opcode: CMOVEQr
161
/* 664 */     MCD_OPC_FilterValue, 38, 11, 0, 0, // Skip to: 680
162
/* 669 */     MCD_OPC_CheckField, 13, 3, 0, 239, 7, 0, // Skip to: 2707
163
/* 676 */     MCD_OPC_Decode, 172, 2, 4, // Opcode: CMOVNEr
164
/* 680 */     MCD_OPC_FilterValue, 40, 11, 0, 0, // Skip to: 696
165
/* 685 */     MCD_OPC_CheckField, 13, 3, 0, 223, 7, 0, // Skip to: 2707
166
/* 692 */     MCD_OPC_Decode, 188, 3, 2, // Opcode: ORNOTr
167
/* 696 */     MCD_OPC_FilterValue, 64, 11, 0, 0, // Skip to: 712
168
/* 701 */     MCD_OPC_CheckField, 13, 3, 0, 207, 7, 0, // Skip to: 2707
169
/* 708 */     MCD_OPC_Decode, 248, 3, 2, // Opcode: XORr
170
/* 712 */     MCD_OPC_FilterValue, 68, 11, 0, 0, // Skip to: 728
171
/* 717 */     MCD_OPC_CheckField, 13, 3, 0, 191, 7, 0, // Skip to: 2707
172
/* 724 */     MCD_OPC_Decode, 170, 2, 4, // Opcode: CMOVLTr
173
/* 728 */     MCD_OPC_FilterValue, 70, 11, 0, 0, // Skip to: 744
174
/* 733 */     MCD_OPC_CheckField, 13, 3, 0, 175, 7, 0, // Skip to: 2707
175
/* 740 */     MCD_OPC_Decode, 160, 2, 4, // Opcode: CMOVGEr
176
/* 744 */     MCD_OPC_FilterValue, 72, 11, 0, 0, // Skip to: 760
177
/* 749 */     MCD_OPC_CheckField, 13, 3, 0, 159, 7, 0, // Skip to: 2707
178
/* 756 */     MCD_OPC_Decode, 214, 2, 2, // Opcode: EQVr
179
/* 760 */     MCD_OPC_FilterValue, 100, 11, 0, 0, // Skip to: 776
180
/* 765 */     MCD_OPC_CheckField, 13, 3, 0, 143, 7, 0, // Skip to: 2707
181
/* 772 */     MCD_OPC_Decode, 168, 2, 4, // Opcode: CMOVLEr
182
/* 776 */     MCD_OPC_FilterValue, 102, 11, 0, 0, // Skip to: 792
183
/* 781 */     MCD_OPC_CheckField, 13, 3, 0, 127, 7, 0, // Skip to: 2707
184
/* 788 */     MCD_OPC_Decode, 162, 2, 4, // Opcode: CMOVGTr
185
/* 792 */     MCD_OPC_FilterValue, 128, 1, 4, 0, 0, // Skip to: 802
186
/* 798 */     MCD_OPC_Decode, 141, 2, 3, // Opcode: ANDi
187
/* 802 */     MCD_OPC_FilterValue, 136, 1, 4, 0, 0, // Skip to: 812
188
/* 808 */     MCD_OPC_Decode, 146, 2, 3, // Opcode: BICi
189
/* 812 */     MCD_OPC_FilterValue, 148, 1, 4, 0, 0, // Skip to: 822
190
/* 818 */     MCD_OPC_Decode, 165, 2, 5, // Opcode: CMOVLBSi
191
/* 822 */     MCD_OPC_FilterValue, 150, 1, 4, 0, 0, // Skip to: 832
192
/* 828 */     MCD_OPC_Decode, 163, 2, 5, // Opcode: CMOVLBCi
193
/* 832 */     MCD_OPC_FilterValue, 160, 1, 4, 0, 0, // Skip to: 842
194
/* 838 */     MCD_OPC_Decode, 148, 2, 3, // Opcode: BISi
195
/* 842 */     MCD_OPC_FilterValue, 164, 1, 4, 0, 0, // Skip to: 852
196
/* 848 */     MCD_OPC_Decode, 157, 2, 5, // Opcode: CMOVEQi
197
/* 852 */     MCD_OPC_FilterValue, 166, 1, 4, 0, 0, // Skip to: 862
198
/* 858 */     MCD_OPC_Decode, 171, 2, 5, // Opcode: CMOVNEi
199
/* 862 */     MCD_OPC_FilterValue, 168, 1, 4, 0, 0, // Skip to: 872
200
/* 868 */     MCD_OPC_Decode, 187, 3, 3, // Opcode: ORNOTi
201
/* 872 */     MCD_OPC_FilterValue, 192, 1, 4, 0, 0, // Skip to: 882
202
/* 878 */     MCD_OPC_Decode, 247, 3, 3, // Opcode: XORi
203
/* 882 */     MCD_OPC_FilterValue, 196, 1, 4, 0, 0, // Skip to: 892
204
/* 888 */     MCD_OPC_Decode, 169, 2, 5, // Opcode: CMOVLTi
205
/* 892 */     MCD_OPC_FilterValue, 198, 1, 4, 0, 0, // Skip to: 902
206
/* 898 */     MCD_OPC_Decode, 159, 2, 5, // Opcode: CMOVGEi
207
/* 902 */     MCD_OPC_FilterValue, 200, 1, 4, 0, 0, // Skip to: 912
208
/* 908 */     MCD_OPC_Decode, 213, 2, 3, // Opcode: EQVi
209
/* 912 */     MCD_OPC_FilterValue, 228, 1, 4, 0, 0, // Skip to: 922
210
/* 918 */     MCD_OPC_Decode, 167, 2, 5, // Opcode: CMOVLEi
211
/* 922 */     MCD_OPC_FilterValue, 230, 1, 243, 6, 0, // Skip to: 2707
212
/* 928 */     MCD_OPC_Decode, 161, 2, 5, // Opcode: CMOVGTi
213
/* 932 */     MCD_OPC_FilterValue, 18, 125, 2, 0, // Skip to: 1574
214
/* 937 */     MCD_OPC_ExtractField, 5, 8,  // Inst{12-5} ...
215
/* 940 */     MCD_OPC_FilterValue, 2, 11, 0, 0, // Skip to: 956
216
/* 945 */     MCD_OPC_CheckField, 13, 3, 0, 219, 6, 0, // Skip to: 2707
217
/* 952 */     MCD_OPC_Decode, 167, 3, 2, // Opcode: MSKBL
218
/* 956 */     MCD_OPC_FilterValue, 6, 11, 0, 0, // Skip to: 972
219
/* 961 */     MCD_OPC_CheckField, 13, 3, 0, 203, 6, 0, // Skip to: 2707
220
/* 968 */     MCD_OPC_Decode, 216, 2, 2, // Opcode: EXTBL
221
/* 972 */     MCD_OPC_FilterValue, 11, 11, 0, 0, // Skip to: 988
222
/* 977 */     MCD_OPC_CheckField, 13, 3, 0, 187, 6, 0, // Skip to: 2707
223
/* 984 */     MCD_OPC_Decode, 252, 2, 2, // Opcode: INSBL
224
/* 988 */     MCD_OPC_FilterValue, 18, 11, 0, 0, // Skip to: 1004
225
/* 993 */     MCD_OPC_CheckField, 13, 3, 0, 171, 6, 0, // Skip to: 2707
226
/* 1000 */    MCD_OPC_Decode, 179, 3, 2, // Opcode: MSKWL
227
/* 1004 */    MCD_OPC_FilterValue, 22, 11, 0, 0, // Skip to: 1020
228
/* 1009 */    MCD_OPC_CheckField, 13, 3, 0, 155, 6, 0, // Skip to: 2707
229
/* 1016 */    MCD_OPC_Decode, 228, 2, 2, // Opcode: EXTWL
230
/* 1020 */    MCD_OPC_FilterValue, 27, 11, 0, 0, // Skip to: 1036
231
/* 1025 */    MCD_OPC_CheckField, 13, 3, 0, 139, 6, 0, // Skip to: 2707
232
/* 1032 */    MCD_OPC_Decode, 136, 3, 2, // Opcode: INSWL
233
/* 1036 */    MCD_OPC_FilterValue, 34, 11, 0, 0, // Skip to: 1052
234
/* 1041 */    MCD_OPC_CheckField, 13, 3, 0, 123, 6, 0, // Skip to: 2707
235
/* 1048 */    MCD_OPC_Decode, 171, 3, 2, // Opcode: MSKLL
236
/* 1052 */    MCD_OPC_FilterValue, 38, 11, 0, 0, // Skip to: 1068
237
/* 1057 */    MCD_OPC_CheckField, 13, 3, 0, 107, 6, 0, // Skip to: 2707
238
/* 1064 */    MCD_OPC_Decode, 220, 2, 2, // Opcode: EXTLL
239
/* 1068 */    MCD_OPC_FilterValue, 43, 11, 0, 0, // Skip to: 1084
240
/* 1073 */    MCD_OPC_CheckField, 13, 3, 0, 91, 6, 0, // Skip to: 2707
241
/* 1080 */    MCD_OPC_Decode, 128, 3, 2, // Opcode: INSLL
242
/* 1084 */    MCD_OPC_FilterValue, 50, 11, 0, 0, // Skip to: 1100
243
/* 1089 */    MCD_OPC_CheckField, 13, 3, 0, 75, 6, 0, // Skip to: 2707
244
/* 1096 */    MCD_OPC_Decode, 175, 3, 2, // Opcode: MSKQL
245
/* 1100 */    MCD_OPC_FilterValue, 52, 11, 0, 0, // Skip to: 1116
246
/* 1105 */    MCD_OPC_CheckField, 13, 3, 0, 59, 6, 0, // Skip to: 2707
247
/* 1112 */    MCD_OPC_Decode, 219, 3, 2, // Opcode: SRLr
248
/* 1116 */    MCD_OPC_FilterValue, 54, 11, 0, 0, // Skip to: 1132
249
/* 1121 */    MCD_OPC_CheckField, 13, 3, 0, 43, 6, 0, // Skip to: 2707
250
/* 1128 */    MCD_OPC_Decode, 224, 2, 2, // Opcode: EXTQL
251
/* 1132 */    MCD_OPC_FilterValue, 57, 11, 0, 0, // Skip to: 1148
252
/* 1137 */    MCD_OPC_CheckField, 13, 3, 0, 27, 6, 0, // Skip to: 2707
253
/* 1144 */    MCD_OPC_Decode, 213, 3, 2, // Opcode: SLr
254
/* 1148 */    MCD_OPC_FilterValue, 59, 11, 0, 0, // Skip to: 1164
255
/* 1153 */    MCD_OPC_CheckField, 13, 3, 0, 11, 6, 0, // Skip to: 2707
256
/* 1160 */    MCD_OPC_Decode, 132, 3, 2, // Opcode: INSQL
257
/* 1164 */    MCD_OPC_FilterValue, 60, 11, 0, 0, // Skip to: 1180
258
/* 1169 */    MCD_OPC_CheckField, 13, 3, 0, 251, 5, 0, // Skip to: 2707
259
/* 1176 */    MCD_OPC_Decode, 217, 3, 2, // Opcode: SRAr
260
/* 1180 */    MCD_OPC_FilterValue, 82, 11, 0, 0, // Skip to: 1196
261
/* 1185 */    MCD_OPC_CheckField, 13, 3, 0, 235, 5, 0, // Skip to: 2707
262
/* 1192 */    MCD_OPC_Decode, 177, 3, 2, // Opcode: MSKWH
263
/* 1196 */    MCD_OPC_FilterValue, 87, 11, 0, 0, // Skip to: 1212
264
/* 1201 */    MCD_OPC_CheckField, 13, 3, 0, 219, 5, 0, // Skip to: 2707
265
/* 1208 */    MCD_OPC_Decode, 134, 3, 2, // Opcode: INSWH
266
/* 1212 */    MCD_OPC_FilterValue, 90, 11, 0, 0, // Skip to: 1228
267
/* 1217 */    MCD_OPC_CheckField, 13, 3, 0, 203, 5, 0, // Skip to: 2707
268
/* 1224 */    MCD_OPC_Decode, 226, 2, 2, // Opcode: EXTWH
269
/* 1228 */    MCD_OPC_FilterValue, 98, 11, 0, 0, // Skip to: 1244
270
/* 1233 */    MCD_OPC_CheckField, 13, 3, 0, 187, 5, 0, // Skip to: 2707
271
/* 1240 */    MCD_OPC_Decode, 169, 3, 2, // Opcode: MSKLH
272
/* 1244 */    MCD_OPC_FilterValue, 103, 11, 0, 0, // Skip to: 1260
273
/* 1249 */    MCD_OPC_CheckField, 13, 3, 0, 171, 5, 0, // Skip to: 2707
274
/* 1256 */    MCD_OPC_Decode, 254, 2, 2, // Opcode: INSLH
275
/* 1260 */    MCD_OPC_FilterValue, 106, 11, 0, 0, // Skip to: 1276
276
/* 1265 */    MCD_OPC_CheckField, 13, 3, 0, 155, 5, 0, // Skip to: 2707
277
/* 1272 */    MCD_OPC_Decode, 218, 2, 2, // Opcode: EXTLH
278
/* 1276 */    MCD_OPC_FilterValue, 114, 11, 0, 0, // Skip to: 1292
279
/* 1281 */    MCD_OPC_CheckField, 13, 3, 0, 139, 5, 0, // Skip to: 2707
280
/* 1288 */    MCD_OPC_Decode, 173, 3, 2, // Opcode: MSKQH
281
/* 1292 */    MCD_OPC_FilterValue, 119, 11, 0, 0, // Skip to: 1308
282
/* 1297 */    MCD_OPC_CheckField, 13, 3, 0, 123, 5, 0, // Skip to: 2707
283
/* 1304 */    MCD_OPC_Decode, 130, 3, 2, // Opcode: INSQH
284
/* 1308 */    MCD_OPC_FilterValue, 122, 11, 0, 0, // Skip to: 1324
285
/* 1313 */    MCD_OPC_CheckField, 13, 3, 0, 107, 5, 0, // Skip to: 2707
286
/* 1320 */    MCD_OPC_Decode, 222, 2, 2, // Opcode: EXTQH
287
/* 1324 */    MCD_OPC_FilterValue, 130, 1, 4, 0, 0, // Skip to: 1334
288
/* 1330 */    MCD_OPC_Decode, 168, 3, 3, // Opcode: MSKBLi
289
/* 1334 */    MCD_OPC_FilterValue, 134, 1, 4, 0, 0, // Skip to: 1344
290
/* 1340 */    MCD_OPC_Decode, 217, 2, 3, // Opcode: EXTBLi
291
/* 1344 */    MCD_OPC_FilterValue, 139, 1, 4, 0, 0, // Skip to: 1354
292
/* 1350 */    MCD_OPC_Decode, 253, 2, 3, // Opcode: INSBLi
293
/* 1354 */    MCD_OPC_FilterValue, 146, 1, 4, 0, 0, // Skip to: 1364
294
/* 1360 */    MCD_OPC_Decode, 180, 3, 3, // Opcode: MSKWLi
295
/* 1364 */    MCD_OPC_FilterValue, 150, 1, 4, 0, 0, // Skip to: 1374
296
/* 1370 */    MCD_OPC_Decode, 229, 2, 3, // Opcode: EXTWLi
297
/* 1374 */    MCD_OPC_FilterValue, 155, 1, 4, 0, 0, // Skip to: 1384
298
/* 1380 */    MCD_OPC_Decode, 137, 3, 3, // Opcode: INSWLi
299
/* 1384 */    MCD_OPC_FilterValue, 162, 1, 4, 0, 0, // Skip to: 1394
300
/* 1390 */    MCD_OPC_Decode, 172, 3, 3, // Opcode: MSKLLi
301
/* 1394 */    MCD_OPC_FilterValue, 166, 1, 4, 0, 0, // Skip to: 1404
302
/* 1400 */    MCD_OPC_Decode, 221, 2, 3, // Opcode: EXTLLi
303
/* 1404 */    MCD_OPC_FilterValue, 171, 1, 4, 0, 0, // Skip to: 1414
304
/* 1410 */    MCD_OPC_Decode, 129, 3, 3, // Opcode: INSLLi
305
/* 1414 */    MCD_OPC_FilterValue, 177, 1, 4, 0, 0, // Skip to: 1424
306
/* 1420 */    MCD_OPC_Decode, 249, 3, 3, // Opcode: ZAPNOTi
307
/* 1424 */    MCD_OPC_FilterValue, 178, 1, 4, 0, 0, // Skip to: 1434
308
/* 1430 */    MCD_OPC_Decode, 176, 3, 3, // Opcode: MSKQLi
309
/* 1434 */    MCD_OPC_FilterValue, 180, 1, 4, 0, 0, // Skip to: 1444
310
/* 1440 */    MCD_OPC_Decode, 218, 3, 3, // Opcode: SRLi
311
/* 1444 */    MCD_OPC_FilterValue, 182, 1, 4, 0, 0, // Skip to: 1454
312
/* 1450 */    MCD_OPC_Decode, 225, 2, 3, // Opcode: EXTQLi
313
/* 1454 */    MCD_OPC_FilterValue, 185, 1, 4, 0, 0, // Skip to: 1464
314
/* 1460 */    MCD_OPC_Decode, 212, 3, 3, // Opcode: SLi
315
/* 1464 */    MCD_OPC_FilterValue, 187, 1, 4, 0, 0, // Skip to: 1474
316
/* 1470 */    MCD_OPC_Decode, 133, 3, 3, // Opcode: INSQLi
317
/* 1474 */    MCD_OPC_FilterValue, 188, 1, 4, 0, 0, // Skip to: 1484
318
/* 1480 */    MCD_OPC_Decode, 216, 3, 3, // Opcode: SRAi
319
/* 1484 */    MCD_OPC_FilterValue, 210, 1, 4, 0, 0, // Skip to: 1494
320
/* 1490 */    MCD_OPC_Decode, 178, 3, 3, // Opcode: MSKWHi
321
/* 1494 */    MCD_OPC_FilterValue, 215, 1, 4, 0, 0, // Skip to: 1504
322
/* 1500 */    MCD_OPC_Decode, 135, 3, 3, // Opcode: INSWHi
323
/* 1504 */    MCD_OPC_FilterValue, 218, 1, 4, 0, 0, // Skip to: 1514
324
/* 1510 */    MCD_OPC_Decode, 227, 2, 3, // Opcode: EXTWHi
325
/* 1514 */    MCD_OPC_FilterValue, 226, 1, 4, 0, 0, // Skip to: 1524
326
/* 1520 */    MCD_OPC_Decode, 170, 3, 3, // Opcode: MSKLHi
327
/* 1524 */    MCD_OPC_FilterValue, 231, 1, 4, 0, 0, // Skip to: 1534
328
/* 1530 */    MCD_OPC_Decode, 255, 2, 3, // Opcode: INSLHi
329
/* 1534 */    MCD_OPC_FilterValue, 234, 1, 4, 0, 0, // Skip to: 1544
330
/* 1540 */    MCD_OPC_Decode, 219, 2, 3, // Opcode: EXTLHi
331
/* 1544 */    MCD_OPC_FilterValue, 242, 1, 4, 0, 0, // Skip to: 1554
332
/* 1550 */    MCD_OPC_Decode, 174, 3, 3, // Opcode: MSKQHi
333
/* 1554 */    MCD_OPC_FilterValue, 247, 1, 4, 0, 0, // Skip to: 1564
334
/* 1560 */    MCD_OPC_Decode, 131, 3, 3, // Opcode: INSQHi
335
/* 1564 */    MCD_OPC_FilterValue, 250, 1, 113, 4, 0, // Skip to: 2707
336
/* 1570 */    MCD_OPC_Decode, 223, 2, 3, // Opcode: EXTQHi
337
/* 1574 */    MCD_OPC_FilterValue, 19, 81, 0, 0, // Skip to: 1660
338
/* 1579 */    MCD_OPC_ExtractField, 5, 8,  // Inst{12-5} ...
339
/* 1582 */    MCD_OPC_FilterValue, 0, 11, 0, 0, // Skip to: 1598
340
/* 1587 */    MCD_OPC_CheckField, 13, 3, 0, 89, 4, 0, // Skip to: 2707
341
/* 1594 */    MCD_OPC_Decode, 182, 3, 2, // Opcode: MULLr
342
/* 1598 */    MCD_OPC_FilterValue, 32, 11, 0, 0, // Skip to: 1614
343
/* 1603 */    MCD_OPC_CheckField, 13, 3, 0, 73, 4, 0, // Skip to: 2707
344
/* 1610 */    MCD_OPC_Decode, 184, 3, 2, // Opcode: MULQr
345
/* 1614 */    MCD_OPC_FilterValue, 48, 11, 0, 0, // Skip to: 1630
346
/* 1619 */    MCD_OPC_CheckField, 13, 3, 0, 57, 4, 0, // Skip to: 2707
347
/* 1626 */    MCD_OPC_Decode, 243, 3, 2, // Opcode: UMULHr
348
/* 1630 */    MCD_OPC_FilterValue, 128, 1, 4, 0, 0, // Skip to: 1640
349
/* 1636 */    MCD_OPC_Decode, 181, 3, 3, // Opcode: MULLi
350
/* 1640 */    MCD_OPC_FilterValue, 160, 1, 4, 0, 0, // Skip to: 1650
351
/* 1646 */    MCD_OPC_Decode, 183, 3, 3, // Opcode: MULQi
352
/* 1650 */    MCD_OPC_FilterValue, 176, 1, 27, 4, 0, // Skip to: 2707
353
/* 1656 */    MCD_OPC_Decode, 242, 3, 3, // Opcode: UMULHi
354
/* 1660 */    MCD_OPC_FilterValue, 20, 69, 0, 0, // Skip to: 1734
355
/* 1665 */    MCD_OPC_ExtractField, 5, 11,  // Inst{15-5} ...
356
/* 1668 */    MCD_OPC_FilterValue, 4, 11, 0, 0, // Skip to: 1684
357
/* 1673 */    MCD_OPC_CheckField, 16, 5, 31, 3, 4, 0, // Skip to: 2707
358
/* 1680 */    MCD_OPC_Decode, 138, 3, 6, // Opcode: ITOFS
359
/* 1684 */    MCD_OPC_FilterValue, 36, 11, 0, 0, // Skip to: 1700
360
/* 1689 */    MCD_OPC_CheckField, 16, 5, 31, 243, 3, 0, // Skip to: 2707
361
/* 1696 */    MCD_OPC_Decode, 139, 3, 7, // Opcode: ITOFT
362
/* 1700 */    MCD_OPC_FilterValue, 139, 11, 11, 0, 0, // Skip to: 1717
363
/* 1706 */    MCD_OPC_CheckField, 21, 5, 31, 226, 3, 0, // Skip to: 2707
364
/* 1713 */    MCD_OPC_Decode, 214, 3, 8, // Opcode: SQRTS
365
/* 1717 */    MCD_OPC_FilterValue, 171, 11, 216, 3, 0, // Skip to: 2707
366
/* 1723 */    MCD_OPC_CheckField, 21, 5, 31, 209, 3, 0, // Skip to: 2707
367
/* 1730 */    MCD_OPC_Decode, 215, 3, 9, // Opcode: SQRTT
368
/* 1734 */    MCD_OPC_FilterValue, 22, 208, 0, 0, // Skip to: 1947
369
/* 1739 */    MCD_OPC_ExtractField, 5, 11,  // Inst{15-5} ...
370
/* 1742 */    MCD_OPC_FilterValue, 175, 10, 11, 0, 0, // Skip to: 1759
371
/* 1748 */    MCD_OPC_CheckField, 21, 5, 31, 184, 3, 0, // Skip to: 2707
372
/* 1755 */    MCD_OPC_Decode, 208, 2, 9, // Opcode: CVTTQ
373
/* 1759 */    MCD_OPC_FilterValue, 128, 11, 4, 0, 0, // Skip to: 1769
374
/* 1765 */    MCD_OPC_Decode, 139, 2, 10, // Opcode: ADDS
375
/* 1769 */    MCD_OPC_FilterValue, 129, 11, 4, 0, 0, // Skip to: 1779
376
/* 1775 */    MCD_OPC_Decode, 239, 3, 10, // Opcode: SUBS
377
/* 1779 */    MCD_OPC_FilterValue, 130, 11, 4, 0, 0, // Skip to: 1789
378
/* 1785 */    MCD_OPC_Decode, 185, 3, 10, // Opcode: MULS
379
/* 1789 */    MCD_OPC_FilterValue, 131, 11, 4, 0, 0, // Skip to: 1799
380
/* 1795 */    MCD_OPC_Decode, 210, 2, 10, // Opcode: DIVS
381
/* 1799 */    MCD_OPC_FilterValue, 160, 11, 4, 0, 0, // Skip to: 1809
382
/* 1805 */    MCD_OPC_Decode, 140, 2, 11, // Opcode: ADDT
383
/* 1809 */    MCD_OPC_FilterValue, 161, 11, 4, 0, 0, // Skip to: 1819
384
/* 1815 */    MCD_OPC_Decode, 240, 3, 11, // Opcode: SUBT
385
/* 1819 */    MCD_OPC_FilterValue, 162, 11, 4, 0, 0, // Skip to: 1829
386
/* 1825 */    MCD_OPC_Decode, 186, 3, 11, // Opcode: MULT
387
/* 1829 */    MCD_OPC_FilterValue, 163, 11, 4, 0, 0, // Skip to: 1839
388
/* 1835 */    MCD_OPC_Decode, 211, 2, 11, // Opcode: DIVT
389
/* 1839 */    MCD_OPC_FilterValue, 164, 11, 4, 0, 0, // Skip to: 1849
390
/* 1845 */    MCD_OPC_Decode, 184, 2, 11, // Opcode: CMPTUN
391
/* 1849 */    MCD_OPC_FilterValue, 165, 11, 4, 0, 0, // Skip to: 1859
392
/* 1855 */    MCD_OPC_Decode, 181, 2, 11, // Opcode: CMPTEQ
393
/* 1859 */    MCD_OPC_FilterValue, 166, 11, 4, 0, 0, // Skip to: 1869
394
/* 1865 */    MCD_OPC_Decode, 183, 2, 11, // Opcode: CMPTLT
395
/* 1869 */    MCD_OPC_FilterValue, 167, 11, 4, 0, 0, // Skip to: 1879
396
/* 1875 */    MCD_OPC_Decode, 182, 2, 11, // Opcode: CMPTLE
397
/* 1879 */    MCD_OPC_FilterValue, 172, 13, 11, 0, 0, // Skip to: 1896
398
/* 1885 */    MCD_OPC_CheckField, 21, 5, 31, 47, 3, 0, // Skip to: 2707
399
/* 1892 */    MCD_OPC_Decode, 207, 2, 12, // Opcode: CVTST
400
/* 1896 */    MCD_OPC_FilterValue, 172, 15, 11, 0, 0, // Skip to: 1913
401
/* 1902 */    MCD_OPC_CheckField, 21, 5, 31, 30, 3, 0, // Skip to: 2707
402
/* 1909 */    MCD_OPC_Decode, 209, 2, 13, // Opcode: CVTTS
403
/* 1913 */    MCD_OPC_FilterValue, 188, 15, 11, 0, 0, // Skip to: 1930
404
/* 1919 */    MCD_OPC_CheckField, 21, 5, 31, 13, 3, 0, // Skip to: 2707
405
/* 1926 */    MCD_OPC_Decode, 205, 2, 13, // Opcode: CVTQS
406
/* 1930 */    MCD_OPC_FilterValue, 190, 15, 3, 3, 0, // Skip to: 2707
407
/* 1936 */    MCD_OPC_CheckField, 21, 5, 31, 252, 2, 0, // Skip to: 2707
408
/* 1943 */    MCD_OPC_Decode, 206, 2, 9, // Opcode: CVTQT
409
/* 1947 */    MCD_OPC_FilterValue, 23, 84, 0, 0, // Skip to: 2036
410
/* 1952 */    MCD_OPC_ExtractField, 5, 11,  // Inst{15-5} ...
411
/* 1955 */    MCD_OPC_FilterValue, 32, 4, 0, 0, // Skip to: 1964
412
/* 1960 */    MCD_OPC_Decode, 198, 2, 10, // Opcode: CPYSS
413
/* 1964 */    MCD_OPC_FilterValue, 33, 4, 0, 0, // Skip to: 1973
414
/* 1969 */    MCD_OPC_Decode, 196, 2, 11, // Opcode: CPYSNT
415
/* 1973 */    MCD_OPC_FilterValue, 34, 4, 0, 0, // Skip to: 1982
416
/* 1978 */    MCD_OPC_Decode, 191, 2, 10, // Opcode: CPYSES
417
/* 1982 */    MCD_OPC_FilterValue, 42, 4, 0, 0, // Skip to: 1991
418
/* 1987 */    MCD_OPC_Decode, 236, 2, 10, // Opcode: FCMOVEQS
419
/* 1991 */    MCD_OPC_FilterValue, 43, 4, 0, 0, // Skip to: 2000
420
/* 1996 */    MCD_OPC_Decode, 247, 2, 11, // Opcode: FCMOVNET
421
/* 2000 */    MCD_OPC_FilterValue, 44, 4, 0, 0, // Skip to: 2009
422
/* 2005 */    MCD_OPC_Decode, 244, 2, 10, // Opcode: FCMOVLTS
423
/* 2009 */    MCD_OPC_FilterValue, 45, 4, 0, 0, // Skip to: 2018
424
/* 2014 */    MCD_OPC_Decode, 238, 2, 10, // Opcode: FCMOVGES
425
/* 2018 */    MCD_OPC_FilterValue, 46, 4, 0, 0, // Skip to: 2027
426
/* 2023 */    MCD_OPC_Decode, 242, 2, 10, // Opcode: FCMOVLES
427
/* 2027 */    MCD_OPC_FilterValue, 47, 163, 2, 0, // Skip to: 2707
428
/* 2032 */    MCD_OPC_Decode, 240, 2, 10, // Opcode: FCMOVGTS
429
/* 2036 */    MCD_OPC_FilterValue, 24, 174, 0, 0, // Skip to: 2215
430
/* 2041 */    MCD_OPC_ExtractField, 0, 16,  // Inst{15-0} ...
431
/* 2044 */    MCD_OPC_FilterValue, 0, 11, 0, 0, // Skip to: 2060
432
/* 2049 */    MCD_OPC_CheckField, 16, 10, 0, 139, 2, 0, // Skip to: 2707
433
/* 2056 */    MCD_OPC_Decode, 241, 3, 14, // Opcode: TRAPB
434
/* 2060 */    MCD_OPC_FilterValue, 128, 8, 11, 0, 0, // Skip to: 2077
435
/* 2066 */    MCD_OPC_CheckField, 16, 10, 0, 122, 2, 0, // Skip to: 2707
436
/* 2073 */    MCD_OPC_Decode, 215, 2, 14, // Opcode: EXCB
437
/* 2077 */    MCD_OPC_FilterValue, 128, 128, 1, 11, 0, 0, // Skip to: 2095
438
/* 2084 */    MCD_OPC_CheckField, 16, 10, 0, 104, 2, 0, // Skip to: 2707
439
/* 2091 */    MCD_OPC_Decode, 166, 3, 14, // Opcode: MB
440
/* 2095 */    MCD_OPC_FilterValue, 128, 136, 1, 11, 0, 0, // Skip to: 2113
441
/* 2102 */    MCD_OPC_CheckField, 16, 10, 0, 86, 2, 0, // Skip to: 2707
442
/* 2109 */    MCD_OPC_Decode, 246, 3, 14, // Opcode: WMB
443
/* 2113 */    MCD_OPC_FilterValue, 128, 128, 2, 4, 0, 0, // Skip to: 2124
444
/* 2120 */    MCD_OPC_Decode, 248, 2, 15, // Opcode: FETCH
445
/* 2124 */    MCD_OPC_FilterValue, 128, 192, 2, 4, 0, 0, // Skip to: 2135
446
/* 2131 */    MCD_OPC_Decode, 249, 2, 15, // Opcode: FETCH_M
447
/* 2135 */    MCD_OPC_FilterValue, 128, 128, 3, 4, 0, 0, // Skip to: 2146
448
/* 2142 */    MCD_OPC_Decode, 192, 3, 15, // Opcode: RPCC
449
/* 2146 */    MCD_OPC_FilterValue, 128, 192, 3, 11, 0, 0, // Skip to: 2164
450
/* 2153 */    MCD_OPC_CheckField, 16, 5, 0, 35, 2, 0, // Skip to: 2707
451
/* 2160 */    MCD_OPC_Decode, 189, 3, 16, // Opcode: RC
452
/* 2164 */    MCD_OPC_FilterValue, 128, 208, 3, 4, 0, 0, // Skip to: 2175
453
/* 2171 */    MCD_OPC_Decode, 212, 2, 15, // Opcode: ECB
454
/* 2175 */    MCD_OPC_FilterValue, 128, 224, 3, 11, 0, 0, // Skip to: 2193
455
/* 2182 */    MCD_OPC_CheckField, 16, 5, 0, 6, 2, 0, // Skip to: 2707
456
/* 2189 */    MCD_OPC_Decode, 193, 3, 16, // Opcode: RS
457
/* 2193 */    MCD_OPC_FilterValue, 128, 240, 3, 4, 0, 0, // Skip to: 2204
458
/* 2200 */    MCD_OPC_Decode, 244, 3, 15, // Opcode: WH64
459
/* 2204 */    MCD_OPC_FilterValue, 128, 248, 3, 240, 1, 0, // Skip to: 2707
460
/* 2211 */    MCD_OPC_Decode, 245, 3, 15, // Opcode: WH64EN
461
/* 2215 */    MCD_OPC_FilterValue, 26, 101, 0, 0, // Skip to: 2321
462
/* 2220 */    MCD_OPC_ExtractField, 14, 2,  // Inst{15-14} ...
463
/* 2223 */    MCD_OPC_FilterValue, 0, 18, 0, 0, // Skip to: 2246
464
/* 2228 */    MCD_OPC_CheckField, 21, 5, 31, 216, 1, 0, // Skip to: 2707
465
/* 2235 */    MCD_OPC_CheckField, 0, 14, 0, 209, 1, 0, // Skip to: 2707
466
/* 2242 */    MCD_OPC_Decode, 140, 3, 17, // Opcode: JMP
467
/* 2246 */    MCD_OPC_FilterValue, 1, 37, 0, 0, // Skip to: 2288
468
/* 2251 */    MCD_OPC_ExtractField, 16, 10,  // Inst{25-16} ...
469
/* 2254 */    MCD_OPC_FilterValue, 251, 5, 11, 0, 0, // Skip to: 2271
470
/* 2260 */    MCD_OPC_CheckField, 0, 14, 0, 184, 1, 0, // Skip to: 2707
471
/* 2267 */    MCD_OPC_Decode, 143, 3, 14, // Opcode: JSRs
472
/* 2271 */    MCD_OPC_FilterValue, 219, 6, 174, 1, 0, // Skip to: 2707
473
/* 2277 */    MCD_OPC_CheckField, 0, 14, 0, 167, 1, 0, // Skip to: 2707
474
/* 2284 */    MCD_OPC_Decode, 141, 3, 14, // Opcode: JSR
475
/* 2288 */    MCD_OPC_FilterValue, 2, 19, 0, 0, // Skip to: 2312
476
/* 2293 */    MCD_OPC_CheckField, 16, 10, 250, 7, 150, 1, 0, // Skip to: 2707
477
/* 2301 */    MCD_OPC_CheckField, 0, 14, 1, 143, 1, 0, // Skip to: 2707
478
/* 2308 */    MCD_OPC_Decode, 190, 3, 14, // Opcode: RETDAG
479
/* 2312 */    MCD_OPC_FilterValue, 3, 134, 1, 0, // Skip to: 2707
480
/* 2317 */    MCD_OPC_Decode, 142, 3, 18, // Opcode: JSR_COROUTINE
481
/* 2321 */    MCD_OPC_FilterValue, 28, 115, 0, 0, // Skip to: 2441
482
/* 2326 */    MCD_OPC_ExtractField, 5, 11,  // Inst{15-5} ...
483
/* 2329 */    MCD_OPC_FilterValue, 0, 11, 0, 0, // Skip to: 2345
484
/* 2334 */    MCD_OPC_CheckField, 21, 5, 31, 110, 1, 0, // Skip to: 2707
485
/* 2341 */    MCD_OPC_Decode, 210, 3, 19, // Opcode: SEXTB
486
/* 2345 */    MCD_OPC_FilterValue, 1, 11, 0, 0, // Skip to: 2361
487
/* 2350 */    MCD_OPC_CheckField, 21, 5, 31, 94, 1, 0, // Skip to: 2707
488
/* 2357 */    MCD_OPC_Decode, 211, 3, 19, // Opcode: SEXTW
489
/* 2361 */    MCD_OPC_FilterValue, 48, 11, 0, 0, // Skip to: 2377
490
/* 2366 */    MCD_OPC_CheckField, 21, 5, 31, 78, 1, 0, // Skip to: 2707
491
/* 2373 */    MCD_OPC_Decode, 203, 2, 19, // Opcode: CTPOP
492
/* 2377 */    MCD_OPC_FilterValue, 50, 11, 0, 0, // Skip to: 2393
493
/* 2382 */    MCD_OPC_CheckField, 21, 5, 31, 62, 1, 0, // Skip to: 2707
494
/* 2389 */    MCD_OPC_Decode, 202, 2, 19, // Opcode: CTLZ
495
/* 2393 */    MCD_OPC_FilterValue, 51, 11, 0, 0, // Skip to: 2409
496
/* 2398 */    MCD_OPC_CheckField, 21, 5, 31, 46, 1, 0, // Skip to: 2707
497
/* 2405 */    MCD_OPC_Decode, 204, 2, 19, // Opcode: CTTZ
498
/* 2409 */    MCD_OPC_FilterValue, 112, 11, 0, 0, // Skip to: 2425
499
/* 2414 */    MCD_OPC_CheckField, 16, 5, 31, 30, 1, 0, // Skip to: 2707
500
/* 2421 */    MCD_OPC_Decode, 251, 2, 20, // Opcode: FTOIT
501
/* 2425 */    MCD_OPC_FilterValue, 120, 21, 1, 0, // Skip to: 2707
502
/* 2430 */    MCD_OPC_CheckField, 16, 5, 31, 14, 1, 0, // Skip to: 2707
503
/* 2437 */    MCD_OPC_Decode, 250, 2, 21, // Opcode: FTOIS
504
/* 2441 */    MCD_OPC_FilterValue, 34, 4, 0, 0, // Skip to: 2450
505
/* 2446 */    MCD_OPC_Decode, 160, 3, 22, // Opcode: LDS
506
/* 2450 */    MCD_OPC_FilterValue, 35, 4, 0, 0, // Skip to: 2459
507
/* 2455 */    MCD_OPC_Decode, 162, 3, 23, // Opcode: LDT
508
/* 2459 */    MCD_OPC_FilterValue, 38, 4, 0, 0, // Skip to: 2468
509
/* 2464 */    MCD_OPC_Decode, 229, 3, 22, // Opcode: STS
510
/* 2468 */    MCD_OPC_FilterValue, 39, 4, 0, 0, // Skip to: 2477
511
/* 2473 */    MCD_OPC_Decode, 231, 3, 23, // Opcode: STT
512
/* 2477 */    MCD_OPC_FilterValue, 40, 4, 0, 0, // Skip to: 2486
513
/* 2482 */    MCD_OPC_Decode, 152, 3, 1, // Opcode: LDL
514
/* 2486 */    MCD_OPC_FilterValue, 41, 4, 0, 0, // Skip to: 2495
515
/* 2491 */    MCD_OPC_Decode, 155, 3, 1, // Opcode: LDQ
516
/* 2495 */    MCD_OPC_FilterValue, 42, 4, 0, 0, // Skip to: 2504
517
/* 2500 */    MCD_OPC_Decode, 153, 3, 1, // Opcode: LDL_L
518
/* 2504 */    MCD_OPC_FilterValue, 43, 4, 0, 0, // Skip to: 2513
519
/* 2509 */    MCD_OPC_Decode, 156, 3, 1, // Opcode: LDQ_L
520
/* 2513 */    MCD_OPC_FilterValue, 44, 4, 0, 0, // Skip to: 2522
521
/* 2518 */    MCD_OPC_Decode, 222, 3, 1, // Opcode: STL
522
/* 2522 */    MCD_OPC_FilterValue, 45, 4, 0, 0, // Skip to: 2531
523
/* 2527 */    MCD_OPC_Decode, 225, 3, 1, // Opcode: STQ
524
/* 2531 */    MCD_OPC_FilterValue, 46, 4, 0, 0, // Skip to: 2540
525
/* 2536 */    MCD_OPC_Decode, 223, 3, 24, // Opcode: STL_C
526
/* 2540 */    MCD_OPC_FilterValue, 47, 4, 0, 0, // Skip to: 2549
527
/* 2545 */    MCD_OPC_Decode, 226, 3, 24, // Opcode: STQ_C
528
/* 2549 */    MCD_OPC_FilterValue, 48, 11, 0, 0, // Skip to: 2565
529
/* 2554 */    MCD_OPC_CheckField, 21, 5, 31, 146, 0, 0, // Skip to: 2707
530
/* 2561 */    MCD_OPC_Decode, 155, 2, 25, // Opcode: BR
531
/* 2565 */    MCD_OPC_FilterValue, 49, 4, 0, 0, // Skip to: 2574
532
/* 2570 */    MCD_OPC_Decode, 230, 2, 26, // Opcode: FBEQ
533
/* 2574 */    MCD_OPC_FilterValue, 50, 4, 0, 0, // Skip to: 2583
534
/* 2579 */    MCD_OPC_Decode, 234, 2, 26, // Opcode: FBLT
535
/* 2583 */    MCD_OPC_FilterValue, 51, 4, 0, 0, // Skip to: 2592
536
/* 2588 */    MCD_OPC_Decode, 233, 2, 26, // Opcode: FBLE
537
/* 2592 */    MCD_OPC_FilterValue, 52, 11, 0, 0, // Skip to: 2608
538
/* 2597 */    MCD_OPC_CheckField, 21, 5, 26, 103, 0, 0, // Skip to: 2707
539
/* 2604 */    MCD_OPC_Decode, 156, 2, 25, // Opcode: BSR
540
/* 2608 */    MCD_OPC_FilterValue, 53, 4, 0, 0, // Skip to: 2617
541
/* 2613 */    MCD_OPC_Decode, 235, 2, 26, // Opcode: FBNE
542
/* 2617 */    MCD_OPC_FilterValue, 54, 4, 0, 0, // Skip to: 2626
543
/* 2622 */    MCD_OPC_Decode, 231, 2, 26, // Opcode: FBGE
544
/* 2626 */    MCD_OPC_FilterValue, 55, 4, 0, 0, // Skip to: 2635
545
/* 2631 */    MCD_OPC_Decode, 232, 2, 26, // Opcode: FBGT
546
/* 2635 */    MCD_OPC_FilterValue, 56, 4, 0, 0, // Skip to: 2644
547
/* 2640 */    MCD_OPC_Decode, 150, 2, 27, // Opcode: BLBC
548
/* 2644 */    MCD_OPC_FilterValue, 57, 4, 0, 0, // Skip to: 2653
549
/* 2649 */    MCD_OPC_Decode, 143, 2, 27, // Opcode: BEQ
550
/* 2653 */    MCD_OPC_FilterValue, 58, 4, 0, 0, // Skip to: 2662
551
/* 2658 */    MCD_OPC_Decode, 153, 2, 27, // Opcode: BLT
552
/* 2662 */    MCD_OPC_FilterValue, 59, 4, 0, 0, // Skip to: 2671
553
/* 2667 */    MCD_OPC_Decode, 152, 2, 27, // Opcode: BLE
554
/* 2671 */    MCD_OPC_FilterValue, 60, 4, 0, 0, // Skip to: 2680
555
/* 2676 */    MCD_OPC_Decode, 151, 2, 27, // Opcode: BLBS
556
/* 2680 */    MCD_OPC_FilterValue, 61, 4, 0, 0, // Skip to: 2689
557
/* 2685 */    MCD_OPC_Decode, 154, 2, 27, // Opcode: BNE
558
/* 2689 */    MCD_OPC_FilterValue, 62, 4, 0, 0, // Skip to: 2698
559
/* 2694 */    MCD_OPC_Decode, 144, 2, 27, // Opcode: BGE
560
/* 2698 */    MCD_OPC_FilterValue, 63, 4, 0, 0, // Skip to: 2707
561
/* 2703 */    MCD_OPC_Decode, 145, 2, 27, // Opcode: BGT
562
/* 2707 */    MCD_OPC_Fail,
563
  0
564
};
565
566
static const uint8_t DecoderTableCondBranchF32[] = {
567
/* 0 */       MCD_OPC_CheckField, 26, 6, 0, 4, 0, 0, // Skip to: 11
568
/* 7 */       MCD_OPC_Decode, 189, 2, 28, // Opcode: COND_BRANCH_F
569
/* 11 */      MCD_OPC_Fail,
570
  0
571
};
572
573
static const uint8_t DecoderTableCpys32[] = {
574
/* 0 */       MCD_OPC_ExtractField, 5, 11,  // Inst{15-5} ...
575
/* 3 */       MCD_OPC_FilterValue, 32, 11, 0, 0, // Skip to: 19
576
/* 8 */       MCD_OPC_CheckField, 26, 6, 23, 36, 0, 0, // Skip to: 51
577
/* 15 */      MCD_OPC_Decode, 199, 2, 29, // Opcode: CPYSSt
578
/* 19 */      MCD_OPC_FilterValue, 33, 11, 0, 0, // Skip to: 35
579
/* 24 */      MCD_OPC_CheckField, 26, 6, 23, 20, 0, 0, // Skip to: 51
580
/* 31 */      MCD_OPC_Decode, 195, 2, 29, // Opcode: CPYSNSt
581
/* 35 */      MCD_OPC_FilterValue, 34, 11, 0, 0, // Skip to: 51
582
/* 40 */      MCD_OPC_CheckField, 26, 6, 23, 4, 0, 0, // Skip to: 51
583
/* 47 */      MCD_OPC_Decode, 192, 2, 29, // Opcode: CPYSESt
584
/* 51 */      MCD_OPC_Fail,
585
  0
586
};
587
588
static const uint8_t DecoderTableCpysET32[] = {
589
/* 0 */       MCD_OPC_CheckField, 26, 6, 23, 11, 0, 0, // Skip to: 18
590
/* 7 */       MCD_OPC_CheckField, 5, 11, 34, 4, 0, 0, // Skip to: 18
591
/* 14 */      MCD_OPC_Decode, 193, 2, 11, // Opcode: CPYSET
592
/* 18 */      MCD_OPC_Fail,
593
  0
594
};
595
596
static const uint8_t DecoderTableCpysNS32[] = {
597
/* 0 */       MCD_OPC_CheckField, 26, 6, 23, 11, 0, 0, // Skip to: 18
598
/* 7 */       MCD_OPC_CheckField, 5, 11, 33, 4, 0, 0, // Skip to: 18
599
/* 14 */      MCD_OPC_Decode, 194, 2, 10, // Opcode: CPYSNS
600
/* 18 */      MCD_OPC_Fail,
601
  0
602
};
603
604
static const uint8_t DecoderTableCpysT32[] = {
605
/* 0 */       MCD_OPC_CheckField, 26, 6, 23, 11, 0, 0, // Skip to: 18
606
/* 7 */       MCD_OPC_CheckField, 5, 11, 32, 4, 0, 0, // Skip to: 18
607
/* 14 */      MCD_OPC_Decode, 200, 2, 11, // Opcode: CPYST
608
/* 18 */      MCD_OPC_Fail,
609
  0
610
};
611
612
static const uint8_t DecoderTableCpysTs32[] = {
613
/* 0 */       MCD_OPC_ExtractField, 5, 11,  // Inst{15-5} ...
614
/* 3 */       MCD_OPC_FilterValue, 32, 11, 0, 0, // Skip to: 19
615
/* 8 */       MCD_OPC_CheckField, 26, 6, 23, 20, 0, 0, // Skip to: 35
616
/* 15 */      MCD_OPC_Decode, 201, 2, 30, // Opcode: CPYSTs
617
/* 19 */      MCD_OPC_FilterValue, 33, 11, 0, 0, // Skip to: 35
618
/* 24 */      MCD_OPC_CheckField, 26, 6, 23, 4, 0, 0, // Skip to: 35
619
/* 31 */      MCD_OPC_Decode, 197, 2, 30, // Opcode: CPYSNTs
620
/* 35 */      MCD_OPC_Fail,
621
  0
622
};
623
624
static const uint8_t DecoderTableFcmov32[] = {
625
/* 0 */       MCD_OPC_ExtractField, 5, 11,  // Inst{15-5} ...
626
/* 3 */       MCD_OPC_FilterValue, 42, 11, 0, 0, // Skip to: 19
627
/* 8 */       MCD_OPC_CheckField, 26, 6, 23, 84, 0, 0, // Skip to: 99
628
/* 15 */      MCD_OPC_Decode, 237, 2, 11, // Opcode: FCMOVEQT
629
/* 19 */      MCD_OPC_FilterValue, 43, 11, 0, 0, // Skip to: 35
630
/* 24 */      MCD_OPC_CheckField, 26, 6, 23, 68, 0, 0, // Skip to: 99
631
/* 31 */      MCD_OPC_Decode, 246, 2, 10, // Opcode: FCMOVNES
632
/* 35 */      MCD_OPC_FilterValue, 44, 11, 0, 0, // Skip to: 51
633
/* 40 */      MCD_OPC_CheckField, 26, 6, 23, 52, 0, 0, // Skip to: 99
634
/* 47 */      MCD_OPC_Decode, 245, 2, 11, // Opcode: FCMOVLTT
635
/* 51 */      MCD_OPC_FilterValue, 45, 11, 0, 0, // Skip to: 67
636
/* 56 */      MCD_OPC_CheckField, 26, 6, 23, 36, 0, 0, // Skip to: 99
637
/* 63 */      MCD_OPC_Decode, 239, 2, 11, // Opcode: FCMOVGET
638
/* 67 */      MCD_OPC_FilterValue, 46, 11, 0, 0, // Skip to: 83
639
/* 72 */      MCD_OPC_CheckField, 26, 6, 23, 20, 0, 0, // Skip to: 99
640
/* 79 */      MCD_OPC_Decode, 243, 2, 11, // Opcode: FCMOVLET
641
/* 83 */      MCD_OPC_FilterValue, 47, 11, 0, 0, // Skip to: 99
642
/* 88 */      MCD_OPC_CheckField, 26, 6, 23, 4, 0, 0, // Skip to: 99
643
/* 95 */      MCD_OPC_Decode, 241, 2, 11, // Opcode: FCMOVGTT
644
/* 99 */      MCD_OPC_Fail,
645
  0
646
};
647
648
static const uint8_t DecoderTableLDg32[] = {
649
/* 0 */       MCD_OPC_ExtractField, 26, 6,  // Inst{31-26} ...
650
/* 3 */       MCD_OPC_FilterValue, 8, 4, 0, 0, // Skip to: 12
651
/* 8 */       MCD_OPC_Decode, 148, 3, 1, // Opcode: LDAg
652
/* 12 */      MCD_OPC_FilterValue, 9, 4, 0, 0, // Skip to: 21
653
/* 17 */      MCD_OPC_Decode, 146, 3, 1, // Opcode: LDAHg
654
/* 21 */      MCD_OPC_Fail,
655
  0
656
};
657
658
static const uint8_t DecoderTableLDl32[] = {
659
/* 0 */       MCD_OPC_CheckField, 26, 6, 41, 4, 0, 0, // Skip to: 11
660
/* 7 */       MCD_OPC_Decode, 158, 3, 1, // Opcode: LDQl
661
/* 11 */      MCD_OPC_Fail,
662
  0
663
};
664
665
static const uint8_t DecoderTableLDr32[] = {
666
/* 0 */       MCD_OPC_ExtractField, 26, 6,  // Inst{31-26} ...
667
/* 3 */       MCD_OPC_FilterValue, 8, 4, 0, 0, // Skip to: 12
668
/* 8 */       MCD_OPC_Decode, 149, 3, 1, // Opcode: LDAr
669
/* 12 */      MCD_OPC_FilterValue, 9, 4, 0, 0, // Skip to: 21
670
/* 17 */      MCD_OPC_Decode, 147, 3, 1, // Opcode: LDAHr
671
/* 21 */      MCD_OPC_FilterValue, 10, 4, 0, 0, // Skip to: 30
672
/* 26 */      MCD_OPC_Decode, 151, 3, 1, // Opcode: LDBUr
673
/* 30 */      MCD_OPC_FilterValue, 12, 4, 0, 0, // Skip to: 39
674
/* 35 */      MCD_OPC_Decode, 165, 3, 1, // Opcode: LDWUr
675
/* 39 */      MCD_OPC_FilterValue, 34, 4, 0, 0, // Skip to: 48
676
/* 44 */      MCD_OPC_Decode, 161, 3, 22, // Opcode: LDSr
677
/* 48 */      MCD_OPC_FilterValue, 35, 4, 0, 0, // Skip to: 57
678
/* 53 */      MCD_OPC_Decode, 163, 3, 23, // Opcode: LDTr
679
/* 57 */      MCD_OPC_FilterValue, 40, 4, 0, 0, // Skip to: 66
680
/* 62 */      MCD_OPC_Decode, 154, 3, 1, // Opcode: LDLr
681
/* 66 */      MCD_OPC_FilterValue, 41, 4, 0, 0, // Skip to: 75
682
/* 71 */      MCD_OPC_Decode, 159, 3, 1, // Opcode: LDQr
683
/* 75 */      MCD_OPC_Fail,
684
  0
685
};
686
687
static const uint8_t DecoderTableRet32[] = {
688
/* 0 */       MCD_OPC_CheckField, 0, 32, 129, 128, 234, 223, 6, 4, 0, 0, // Skip to: 15
689
/* 11 */      MCD_OPC_Decode, 191, 3, 14, // Opcode: RETDAGp
690
/* 15 */      MCD_OPC_Fail,
691
  0
692
};
693
694
static const uint8_t DecoderTableSTr32[] = {
695
/* 0 */       MCD_OPC_ExtractField, 26, 6,  // Inst{31-26} ...
696
/* 3 */       MCD_OPC_FilterValue, 13, 4, 0, 0, // Skip to: 12
697
/* 8 */       MCD_OPC_Decode, 234, 3, 1, // Opcode: STWr
698
/* 12 */      MCD_OPC_FilterValue, 14, 4, 0, 0, // Skip to: 21
699
/* 17 */      MCD_OPC_Decode, 221, 3, 1, // Opcode: STBr
700
/* 21 */      MCD_OPC_FilterValue, 38, 4, 0, 0, // Skip to: 30
701
/* 26 */      MCD_OPC_Decode, 230, 3, 22, // Opcode: STSr
702
/* 30 */      MCD_OPC_FilterValue, 39, 4, 0, 0, // Skip to: 39
703
/* 35 */      MCD_OPC_Decode, 232, 3, 23, // Opcode: STTr
704
/* 39 */      MCD_OPC_FilterValue, 44, 4, 0, 0, // Skip to: 48
705
/* 44 */      MCD_OPC_Decode, 224, 3, 1, // Opcode: STLr
706
/* 48 */      MCD_OPC_FilterValue, 45, 4, 0, 0, // Skip to: 57
707
/* 53 */      MCD_OPC_Decode, 228, 3, 1, // Opcode: STQr
708
/* 57 */      MCD_OPC_Fail,
709
  0
710
};
711
712
0
static bool checkDecoderPredicate(MCInst *Inst, unsigned Idx) {
713
  /* llvm_unreachable("Invalid index!"); */
714
0
  return false;
715
0
}
716
717
#define DecodeToMCInst(fname, fieldname, InsnType) \
718
static DecodeStatus fname(DecodeStatus S, unsigned Idx, InsnType insn, MCInst *MI, \
719
0
    uint64_t Address, const void *Decoder, bool *DecodeComplete) \
720
0
{ \
721
0
  InsnType tmp; \
722
0
  switch (Idx) { \
723
0
  default: /* llvm_unreachable("Invalid index!"); */ \
724
0
  case 0: \
725
0
    tmp = fieldname(insn, 21, 5); \
726
0
    MCOperand_CreateImm0(MI, tmp); \
727
0
    tmp = fieldname(insn, 0, 21); \
728
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
729
0
    return S; \
730
0
  case 1: \
731
0
    tmp = fieldname(insn, 21, 5); \
732
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
733
0
    tmp = fieldname(insn, 0, 16); \
734
0
    MCOperand_CreateImm0(MI, tmp); \
735
0
    tmp = fieldname(insn, 16, 5); \
736
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
737
0
    return S; \
738
0
  case 2: \
739
0
    tmp = fieldname(insn, 0, 5); \
740
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
741
0
    tmp = fieldname(insn, 21, 5); \
742
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
743
0
    tmp = fieldname(insn, 16, 5); \
744
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
745
0
    return S; \
746
0
  case 3: \
747
0
    tmp = fieldname(insn, 0, 5); \
748
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
749
0
    tmp = fieldname(insn, 21, 5); \
750
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
751
0
    tmp = fieldname(insn, 13, 8); \
752
0
    MCOperand_CreateImm0(MI, tmp); \
753
0
    return S; \
754
0
  case 4: \
755
0
    tmp = fieldname(insn, 0, 5); \
756
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
757
0
    tmp = fieldname(insn, 21, 5); \
758
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
759
0
    tmp = fieldname(insn, 16, 5); \
760
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
761
0
    tmp = fieldname(insn, 0, 5); \
762
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
763
0
    return S; \
764
0
  case 5: \
765
0
    tmp = fieldname(insn, 0, 5); \
766
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
767
0
    tmp = fieldname(insn, 21, 5); \
768
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
769
0
    tmp = fieldname(insn, 13, 8); \
770
0
    MCOperand_CreateImm0(MI, tmp); \
771
0
    tmp = fieldname(insn, 0, 5); \
772
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
773
0
    return S; \
774
0
  case 6: \
775
0
    tmp = fieldname(insn, 0, 5); \
776
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
777
0
    tmp = fieldname(insn, 21, 5); \
778
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
779
0
    return S; \
780
0
  case 7: \
781
0
    tmp = fieldname(insn, 0, 5); \
782
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
783
0
    tmp = fieldname(insn, 21, 5); \
784
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
785
0
    return S; \
786
0
  case 8: \
787
0
    tmp = fieldname(insn, 0, 5); \
788
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
789
0
    tmp = fieldname(insn, 16, 5); \
790
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
791
0
    return S; \
792
0
  case 9: \
793
0
    tmp = fieldname(insn, 0, 5); \
794
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
795
0
    tmp = fieldname(insn, 16, 5); \
796
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
797
0
    return S; \
798
0
  case 10: \
799
0
    tmp = fieldname(insn, 0, 5); \
800
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
801
0
    tmp = fieldname(insn, 21, 5); \
802
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
803
0
    tmp = fieldname(insn, 16, 5); \
804
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
805
0
    return S; \
806
0
  case 11: \
807
0
    tmp = fieldname(insn, 0, 5); \
808
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
809
0
    tmp = fieldname(insn, 21, 5); \
810
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
811
0
    tmp = fieldname(insn, 16, 5); \
812
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
813
0
    return S; \
814
0
  case 12: \
815
0
    tmp = fieldname(insn, 0, 5); \
816
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
817
0
    tmp = fieldname(insn, 16, 5); \
818
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
819
0
    return S; \
820
0
  case 13: \
821
0
    tmp = fieldname(insn, 0, 5); \
822
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
823
0
    tmp = fieldname(insn, 16, 5); \
824
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
825
0
    return S; \
826
0
  case 14: \
827
0
    return S; \
828
0
  case 15: \
829
0
    tmp = fieldname(insn, 21, 5); \
830
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
831
0
    tmp = fieldname(insn, 16, 5); \
832
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
833
0
    return S; \
834
0
  case 16: \
835
0
    tmp = fieldname(insn, 21, 5); \
836
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
837
0
    return S; \
838
0
  case 17: \
839
0
    tmp = fieldname(insn, 16, 5); \
840
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
841
0
    return S; \
842
0
  case 18: \
843
0
    tmp = fieldname(insn, 21, 5); \
844
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
845
0
    tmp = fieldname(insn, 16, 5); \
846
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
847
0
    tmp = fieldname(insn, 0, 14); \
848
0
    MCOperand_CreateImm0(MI, tmp); \
849
0
    return S; \
850
0
  case 19: \
851
0
    tmp = fieldname(insn, 0, 5); \
852
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
853
0
    tmp = fieldname(insn, 16, 5); \
854
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
855
0
    return S; \
856
0
  case 20: \
857
0
    tmp = fieldname(insn, 0, 5); \
858
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
859
0
    tmp = fieldname(insn, 21, 5); \
860
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
861
0
    return S; \
862
0
  case 21: \
863
0
    tmp = fieldname(insn, 0, 5); \
864
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
865
0
    tmp = fieldname(insn, 21, 5); \
866
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
867
0
    return S; \
868
0
  case 22: \
869
0
    tmp = fieldname(insn, 21, 5); \
870
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
871
0
    tmp = fieldname(insn, 0, 16); \
872
0
    MCOperand_CreateImm0(MI, tmp); \
873
0
    tmp = fieldname(insn, 16, 5); \
874
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
875
0
    return S; \
876
0
  case 23: \
877
0
    tmp = fieldname(insn, 21, 5); \
878
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
879
0
    tmp = fieldname(insn, 0, 16); \
880
0
    MCOperand_CreateImm0(MI, tmp); \
881
0
    tmp = fieldname(insn, 16, 5); \
882
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
883
0
    return S; \
884
0
  case 24: \
885
0
    tmp = fieldname(insn, 21, 5); \
886
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
887
0
    tmp = fieldname(insn, 21, 5); \
888
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
889
0
    tmp = fieldname(insn, 0, 16); \
890
0
    MCOperand_CreateImm0(MI, tmp); \
891
0
    tmp = fieldname(insn, 16, 5); \
892
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
893
0
    return S; \
894
0
  case 25: \
895
0
    tmp = fieldname(insn, 0, 21); \
896
0
    MCOperand_CreateImm0(MI, tmp); \
897
0
    return S; \
898
0
  case 26: \
899
0
    tmp = fieldname(insn, 21, 5); \
900
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
901
0
    tmp = fieldname(insn, 0, 21); \
902
0
    MCOperand_CreateImm0(MI, tmp); \
903
0
    return S; \
904
0
  case 27: \
905
0
    tmp = fieldname(insn, 21, 5); \
906
0
    if (DecodeGPRCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
907
0
    tmp = fieldname(insn, 0, 21); \
908
0
    MCOperand_CreateImm0(MI, tmp); \
909
0
    return S; \
910
0
  case 28: \
911
0
    tmp = fieldname(insn, 21, 5); \
912
0
    MCOperand_CreateImm0(MI, tmp); \
913
0
    tmp = fieldname(insn, 0, 21); \
914
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
915
0
    return S; \
916
0
  case 29: \
917
0
    tmp = fieldname(insn, 0, 5); \
918
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
919
0
    tmp = fieldname(insn, 21, 5); \
920
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
921
0
    tmp = fieldname(insn, 16, 5); \
922
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
923
0
    return S; \
924
0
  case 30: \
925
0
    tmp = fieldname(insn, 0, 5); \
926
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
927
0
    tmp = fieldname(insn, 21, 5); \
928
0
    if (DecodeF4RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
929
0
    tmp = fieldname(insn, 16, 5); \
930
0
    if (DecodeF8RCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) { return MCDisassembler_Fail; } \
931
0
    return S; \
932
0
  } \
933
0
}
934
935
#define DecodeInstruction(fname, fieldname, decoder, InsnType) \
936
static DecodeStatus fname(const uint8_t DecodeTable[], MCInst *MI, \
937
0
                                      InsnType insn, uint64_t Address, const void *Decoder) { \
938
0
  const uint8_t *Ptr = DecodeTable; \
939
0
  uint64_t CurFieldValue = 0; \
940
0
  DecodeStatus S = MCDisassembler_Success; \
941
0
  while (true) { \
942
0
    switch (*Ptr) { \
943
0
    default: \
944
0
      return MCDisassembler_Fail; \
945
0
    case MCD_OPC_ExtractField: { \
946
0
      unsigned Start = *++Ptr; \
947
0
      unsigned Len = *++Ptr; \
948
0
      ++Ptr; \
949
0
      CurFieldValue = fieldname(insn, Start, Len); \
950
0
      break; \
951
0
    } \
952
0
    case MCD_OPC_FilterValue: { \
953
0
      /* Decode the field value. */ \
954
0
      unsigned Len; \
955
0
      uint64_t Val = decodeULEB128(++Ptr, &Len); \
956
0
      Ptr += Len; \
957
0
      /* NumToSkip is a plain 24-bit integer. */ \
958
0
      unsigned NumToSkip = *Ptr++; \
959
0
      NumToSkip |= (*Ptr++) << 8; \
960
0
      NumToSkip |= (*Ptr++) << 16; \
961
0
      /* Perform the filter operation. */ \
962
0
      if (Val != CurFieldValue) \
963
0
        Ptr += NumToSkip; \
964
0
      break; \
965
0
    } \
966
0
    case MCD_OPC_CheckField: { \
967
0
      unsigned Start = *++Ptr; \
968
0
      unsigned Len = *++Ptr; \
969
0
      uint64_t FieldValue = fieldname(insn, Start, Len); \
970
0
      /* Decode the field value. */ \
971
0
      unsigned PtrLen = 0; \
972
0
      uint64_t ExpectedValue = decodeULEB128(++Ptr, &PtrLen); \
973
0
      Ptr += PtrLen; \
974
0
      /* NumToSkip is a plain 24-bit integer. */ \
975
0
      unsigned NumToSkip = *Ptr++; \
976
0
      NumToSkip |= (*Ptr++) << 8; \
977
0
      NumToSkip |= (*Ptr++) << 16; \
978
0
      /* If the actual and expected values don't match, skip. */ \
979
0
      if (ExpectedValue != FieldValue) \
980
0
        Ptr += NumToSkip; \
981
0
      break; \
982
0
    } \
983
0
    case MCD_OPC_CheckPredicate: { \
984
0
      unsigned Len; \
985
0
      /* Decode the Predicate Index value. */ \
986
0
      unsigned PIdx = decodeULEB128(++Ptr, &Len); \
987
0
      Ptr += Len; \
988
0
      /* NumToSkip is a plain 24-bit integer. */ \
989
0
      unsigned NumToSkip = *Ptr++; \
990
0
      NumToSkip |= (*Ptr++) << 8; \
991
0
      NumToSkip |= (*Ptr++) << 16; \
992
0
      /* Check the predicate. */ \
993
0
      bool Pred = checkDecoderPredicate(MI, PIdx); \
994
0
      if (!Pred) \
995
0
        Ptr += NumToSkip; \
996
0
      break; \
997
0
    } \
998
0
    case MCD_OPC_Decode: { \
999
0
      unsigned Len; \
1000
0
      /* Decode the Opcode value. */ \
1001
0
      unsigned Opc = decodeULEB128(++Ptr, &Len); \
1002
0
      Ptr += Len; \
1003
0
      unsigned DecodeIdx = decodeULEB128(Ptr, &Len); \
1004
0
      Ptr += Len; \
1005
0
      MCInst_clear(MI); \
1006
0
      MCInst_setOpcode(MI, Opc); \
1007
0
      bool DecodeComplete; \
1008
0
      S = decoder(S, DecodeIdx, insn, MI, Address, Decoder, &DecodeComplete); \
1009
0
      return S; \
1010
0
    } \
1011
0
    case MCD_OPC_TryDecode: { \
1012
0
      unsigned Len; \
1013
0
      /* Decode the Opcode value. */ \
1014
0
      unsigned Opc = decodeULEB128(++Ptr, &Len); \
1015
0
      Ptr += Len; \
1016
0
      unsigned DecodeIdx = decodeULEB128(Ptr, &Len); \
1017
0
      Ptr += Len; \
1018
0
      /* NumToSkip is a plain 24-bit integer. */ \
1019
0
      unsigned NumToSkip = *Ptr++; \
1020
0
      NumToSkip |= (*Ptr++) << 8; \
1021
0
      NumToSkip |= (*Ptr++) << 16; \
1022
0
      /* Perform the decode operation. */ \
1023
0
      MCInst_setOpcode(MI, Opc); \
1024
0
      bool DecodeComplete; \
1025
0
      S = decoder(S, DecodeIdx, insn, MI, Address, Decoder, &DecodeComplete); \
1026
0
      if (DecodeComplete) { \
1027
0
        /* Decoding complete. */ \
1028
0
        return S; \
1029
0
      } else { \
1030
0
        /* If the decoding was incomplete, skip. */ \
1031
0
        Ptr += NumToSkip; \
1032
0
        /* Reset decode status. This also drops a SoftFail status that could be */ \
1033
0
        /* set before the decode attempt. */ \
1034
0
        S = MCDisassembler_Success; \
1035
0
      } \
1036
0
      break; \
1037
0
    } \
1038
0
    case MCD_OPC_SoftFail: { \
1039
0
      /* Decode the mask values. */ \
1040
0
      unsigned Len; \
1041
0
      uint64_t PositiveMask = decodeULEB128(++Ptr, &Len); \
1042
0
      Ptr += Len; \
1043
0
      uint64_t NegativeMask = decodeULEB128(Ptr, &Len); \
1044
0
      Ptr += Len; \
1045
0
      bool Fail = (insn & PositiveMask) != 0 || (~insn & NegativeMask) != 0; \
1046
0
      if (Fail) \
1047
0
        S = MCDisassembler_SoftFail; \
1048
0
      break; \
1049
0
    } \
1050
0
    case MCD_OPC_Fail: { \
1051
0
      return MCDisassembler_Fail; \
1052
0
    } \
1053
0
    } \
1054
0
  } \
1055
0
  /* Bogisity detected in disassembler state machine! */ \
1056
0
}
1057
1058
FieldFromInstruction(fieldFromInstruction_4, uint32_t)
1059
DecodeToMCInst(decodeToMCInst_4, fieldFromInstruction_4, uint32_t)
1060
DecodeInstruction(decodeInstruction_4, fieldFromInstruction_4, decodeToMCInst_4, uint32_t)