Coverage Report

Created: 2025-07-01 07:03

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