• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|*  * LoongArch Disassembler                                                  *|
4|*                                                                            *|
5|* Automatically generated file, do not edit!                                 *|
6|*                                                                            *|
7\*===----------------------------------------------------------------------===*/
8
9#include "llvm/MC/MCInst.h"
10#include "llvm/MC/MCSubtargetInfo.h"
11#include "llvm/MC/SubtargetFeature.h"
12#include "llvm/Support/DataTypes.h"
13#include "llvm/Support/Debug.h"
14#include "llvm/Support/LEB128.h"
15#include "llvm/Support/raw_ostream.h"
16#include <assert.h>
17
18namespace llvm {
19
20// Helper functions for extracting fields from encoded instructions.
21// InsnType must either be integral or an APInt-like object that must:
22// * be default-constructible and copy-constructible
23// * be constructible from an APInt (this can be private)
24// * Support insertBits(bits, startBit, numBits)
25// * Support extractBitsAsZExtValue(numBits, startBit)
26// * Support the ~, &, ==, and != operators with other objects of the same type
27// * Support the != and bitwise & with uint64_t
28// * Support put (<<) to raw_ostream&
29template <typename InsnType>
30#if defined(_MSC_VER) && !defined(__clang__)
31__declspec(noinline)
32#endif
33static std::enable_if_t<std::is_integral<InsnType>::value, InsnType>
34fieldFromInstruction(const InsnType &insn, unsigned startBit,
35                     unsigned numBits) {
36  assert(startBit + numBits <= 64 && "Cannot support >64-bit extractions!");
37  assert(startBit + numBits <= (sizeof(InsnType) * 8) &&
38         "Instruction field out of bounds!");
39  InsnType fieldMask;
40  if (numBits == sizeof(InsnType) * 8)
41    fieldMask = (InsnType)(-1LL);
42  else
43    fieldMask = (((InsnType)1 << numBits) - 1) << startBit;
44  return (insn & fieldMask) >> startBit;
45}
46
47template <typename InsnType>
48static std::enable_if_t<!std::is_integral<InsnType>::value, uint64_t>
49fieldFromInstruction(const InsnType &insn, unsigned startBit,
50                     unsigned numBits) {
51  return insn.extractBitsAsZExtValue(numBits, startBit);
52}
53
54// Helper function for inserting bits extracted from an encoded instruction into
55// a field.
56template <typename InsnType>
57static std::enable_if_t<std::is_integral<InsnType>::value>
58insertBits(InsnType &field, InsnType bits, unsigned startBit, unsigned numBits) {
59  assert(startBit + numBits <= sizeof field * 8);
60  field |= (InsnType)bits << startBit;
61}
62
63template <typename InsnType>
64static std::enable_if_t<!std::is_integral<InsnType>::value>
65insertBits(InsnType &field, uint64_t bits, unsigned startBit, unsigned numBits) {
66  field.insertBits(bits, startBit, numBits);
67}
68
69static bool Check(DecodeStatus &Out, DecodeStatus In) {
70  Out = static_cast<DecodeStatus>(Out & In);
71  return Out != MCDisassembler::Fail;
72}
73
74static const uint8_t DecoderTable32[] = {
75/* 0 */       MCD::OPC_ExtractField, 26, 6,  // Inst{31-26} ...
76/* 3 */       MCD::OPC_FilterValue, 0, 143, 9, 0, // Skip to: 2455
77/* 8 */       MCD::OPC_ExtractField, 22, 4,  // Inst{25-22} ...
78/* 11 */      MCD::OPC_FilterValue, 0, 7, 4, 0, // Skip to: 1047
79/* 16 */      MCD::OPC_ExtractField, 18, 4,  // Inst{21-18} ...
80/* 19 */      MCD::OPC_FilterValue, 0, 73, 1, 0, // Skip to: 353
81/* 24 */      MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
82/* 27 */      MCD::OPC_FilterValue, 0, 23, 1, 0, // Skip to: 311
83/* 32 */      MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
84/* 35 */      MCD::OPC_FilterValue, 4, 4, 0, 0, // Skip to: 44
85/* 40 */      MCD::OPC_Decode, 250, 2, 0, // Opcode: CLO_W
86/* 44 */      MCD::OPC_FilterValue, 5, 4, 0, 0, // Skip to: 53
87/* 49 */      MCD::OPC_Decode, 252, 2, 0, // Opcode: CLZ_W
88/* 53 */      MCD::OPC_FilterValue, 6, 4, 0, 0, // Skip to: 62
89/* 58 */      MCD::OPC_Decode, 138, 3, 0, // Opcode: CTO_W
90/* 62 */      MCD::OPC_FilterValue, 7, 4, 0, 0, // Skip to: 71
91/* 67 */      MCD::OPC_Decode, 140, 3, 0, // Opcode: CTZ_W
92/* 71 */      MCD::OPC_FilterValue, 8, 9, 0, 0, // Skip to: 85
93/* 76 */      MCD::OPC_CheckPredicate, 0, 138, 21, 0, // Skip to: 5595
94/* 81 */      MCD::OPC_Decode, 249, 2, 0, // Opcode: CLO_D
95/* 85 */      MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 99
96/* 90 */      MCD::OPC_CheckPredicate, 0, 124, 21, 0, // Skip to: 5595
97/* 95 */      MCD::OPC_Decode, 251, 2, 0, // Opcode: CLZ_D
98/* 99 */      MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 113
99/* 104 */     MCD::OPC_CheckPredicate, 0, 110, 21, 0, // Skip to: 5595
100/* 109 */     MCD::OPC_Decode, 137, 3, 0, // Opcode: CTO_D
101/* 113 */     MCD::OPC_FilterValue, 11, 9, 0, 0, // Skip to: 127
102/* 118 */     MCD::OPC_CheckPredicate, 0, 96, 21, 0, // Skip to: 5595
103/* 123 */     MCD::OPC_Decode, 139, 3, 0, // Opcode: CTZ_D
104/* 127 */     MCD::OPC_FilterValue, 12, 4, 0, 0, // Skip to: 136
105/* 132 */     MCD::OPC_Decode, 240, 4, 0, // Opcode: REVB_2H
106/* 136 */     MCD::OPC_FilterValue, 13, 9, 0, 0, // Skip to: 150
107/* 141 */     MCD::OPC_CheckPredicate, 0, 73, 21, 0, // Skip to: 5595
108/* 146 */     MCD::OPC_Decode, 242, 4, 0, // Opcode: REVB_4H
109/* 150 */     MCD::OPC_FilterValue, 14, 9, 0, 0, // Skip to: 164
110/* 155 */     MCD::OPC_CheckPredicate, 0, 59, 21, 0, // Skip to: 5595
111/* 160 */     MCD::OPC_Decode, 241, 4, 0, // Opcode: REVB_2W
112/* 164 */     MCD::OPC_FilterValue, 15, 9, 0, 0, // Skip to: 178
113/* 169 */     MCD::OPC_CheckPredicate, 0, 45, 21, 0, // Skip to: 5595
114/* 174 */     MCD::OPC_Decode, 243, 4, 0, // Opcode: REVB_D
115/* 178 */     MCD::OPC_FilterValue, 16, 9, 0, 0, // Skip to: 192
116/* 183 */     MCD::OPC_CheckPredicate, 0, 31, 21, 0, // Skip to: 5595
117/* 188 */     MCD::OPC_Decode, 244, 4, 0, // Opcode: REVH_2W
118/* 192 */     MCD::OPC_FilterValue, 17, 9, 0, 0, // Skip to: 206
119/* 197 */     MCD::OPC_CheckPredicate, 0, 17, 21, 0, // Skip to: 5595
120/* 202 */     MCD::OPC_Decode, 245, 4, 0, // Opcode: REVH_D
121/* 206 */     MCD::OPC_FilterValue, 18, 4, 0, 0, // Skip to: 215
122/* 211 */     MCD::OPC_Decode, 232, 2, 0, // Opcode: BITREV_4B
123/* 215 */     MCD::OPC_FilterValue, 19, 9, 0, 0, // Skip to: 229
124/* 220 */     MCD::OPC_CheckPredicate, 0, 250, 20, 0, // Skip to: 5595
125/* 225 */     MCD::OPC_Decode, 233, 2, 0, // Opcode: BITREV_8B
126/* 229 */     MCD::OPC_FilterValue, 20, 4, 0, 0, // Skip to: 238
127/* 234 */     MCD::OPC_Decode, 235, 2, 0, // Opcode: BITREV_W
128/* 238 */     MCD::OPC_FilterValue, 21, 9, 0, 0, // Skip to: 252
129/* 243 */     MCD::OPC_CheckPredicate, 0, 227, 20, 0, // Skip to: 5595
130/* 248 */     MCD::OPC_Decode, 234, 2, 0, // Opcode: BITREV_D
131/* 252 */     MCD::OPC_FilterValue, 22, 4, 0, 0, // Skip to: 261
132/* 257 */     MCD::OPC_Decode, 149, 3, 0, // Opcode: EXT_W_H
133/* 261 */     MCD::OPC_FilterValue, 23, 4, 0, 0, // Skip to: 270
134/* 266 */     MCD::OPC_Decode, 148, 3, 0, // Opcode: EXT_W_B
135/* 270 */     MCD::OPC_FilterValue, 24, 4, 0, 0, // Skip to: 279
136/* 275 */     MCD::OPC_Decode, 238, 4, 0, // Opcode: RDTIMEL_W
137/* 279 */     MCD::OPC_FilterValue, 25, 4, 0, 0, // Skip to: 288
138/* 284 */     MCD::OPC_Decode, 237, 4, 0, // Opcode: RDTIMEH_W
139/* 288 */     MCD::OPC_FilterValue, 26, 9, 0, 0, // Skip to: 302
140/* 293 */     MCD::OPC_CheckPredicate, 0, 177, 20, 0, // Skip to: 5595
141/* 298 */     MCD::OPC_Decode, 239, 4, 0, // Opcode: RDTIME_D
142/* 302 */     MCD::OPC_FilterValue, 27, 168, 20, 0, // Skip to: 5595
143/* 307 */     MCD::OPC_Decode, 253, 2, 0, // Opcode: CPUCFG
144/* 311 */     MCD::OPC_FilterValue, 2, 16, 0, 0, // Skip to: 332
145/* 316 */     MCD::OPC_CheckPredicate, 0, 154, 20, 0, // Skip to: 5595
146/* 321 */     MCD::OPC_CheckField, 0, 5, 0, 147, 20, 0, // Skip to: 5595
147/* 328 */     MCD::OPC_Decode, 224, 2, 1, // Opcode: ASRTLE_D
148/* 332 */     MCD::OPC_FilterValue, 3, 138, 20, 0, // Skip to: 5595
149/* 337 */     MCD::OPC_CheckPredicate, 0, 133, 20, 0, // Skip to: 5595
150/* 342 */     MCD::OPC_CheckField, 0, 5, 0, 126, 20, 0, // Skip to: 5595
151/* 349 */     MCD::OPC_Decode, 223, 2, 1, // Opcode: ASRTGT_D
152/* 353 */     MCD::OPC_FilterValue, 1, 26, 0, 0, // Skip to: 384
153/* 358 */     MCD::OPC_ExtractField, 17, 1,  // Inst{17} ...
154/* 361 */     MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 370
155/* 366 */     MCD::OPC_Decode, 182, 2, 2, // Opcode: ALSL_W
156/* 370 */     MCD::OPC_FilterValue, 1, 100, 20, 0, // Skip to: 5595
157/* 375 */     MCD::OPC_CheckPredicate, 0, 95, 20, 0, // Skip to: 5595
158/* 380 */     MCD::OPC_Decode, 183, 2, 2, // Opcode: ALSL_WU
159/* 384 */     MCD::OPC_FilterValue, 2, 11, 0, 0, // Skip to: 400
160/* 389 */     MCD::OPC_CheckField, 17, 1, 0, 79, 20, 0, // Skip to: 5595
161/* 396 */     MCD::OPC_Decode, 247, 2, 3, // Opcode: BYTEPICK_W
162/* 400 */     MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 414
163/* 405 */     MCD::OPC_CheckPredicate, 0, 65, 20, 0, // Skip to: 5595
164/* 410 */     MCD::OPC_Decode, 246, 2, 4, // Opcode: BYTEPICK_D
165/* 414 */     MCD::OPC_FilterValue, 4, 85, 0, 0, // Skip to: 504
166/* 419 */     MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
167/* 422 */     MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 431
168/* 427 */     MCD::OPC_Decode, 180, 2, 5, // Opcode: ADD_W
169/* 431 */     MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 445
170/* 436 */     MCD::OPC_CheckPredicate, 0, 34, 20, 0, // Skip to: 5595
171/* 441 */     MCD::OPC_Decode, 179, 2, 5, // Opcode: ADD_D
172/* 445 */     MCD::OPC_FilterValue, 2, 4, 0, 0, // Skip to: 454
173/* 450 */     MCD::OPC_Decode, 159, 5, 5, // Opcode: SUB_W
174/* 454 */     MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 468
175/* 459 */     MCD::OPC_CheckPredicate, 0, 11, 20, 0, // Skip to: 5595
176/* 464 */     MCD::OPC_Decode, 158, 5, 5, // Opcode: SUB_D
177/* 468 */     MCD::OPC_FilterValue, 4, 4, 0, 0, // Skip to: 477
178/* 473 */     MCD::OPC_Decode, 128, 5, 5, // Opcode: SLT
179/* 477 */     MCD::OPC_FilterValue, 5, 4, 0, 0, // Skip to: 486
180/* 482 */     MCD::OPC_Decode, 130, 5, 5, // Opcode: SLTU
181/* 486 */     MCD::OPC_FilterValue, 6, 4, 0, 0, // Skip to: 495
182/* 491 */     MCD::OPC_Decode, 199, 4, 5, // Opcode: MASKEQZ
183/* 495 */     MCD::OPC_FilterValue, 7, 231, 19, 0, // Skip to: 5595
184/* 500 */     MCD::OPC_Decode, 200, 4, 5, // Opcode: MASKNEZ
185/* 504 */     MCD::OPC_FilterValue, 5, 75, 0, 0, // Skip to: 584
186/* 509 */     MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
187/* 512 */     MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 521
188/* 517 */     MCD::OPC_Decode, 227, 4, 5, // Opcode: NOR
189/* 521 */     MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 530
190/* 526 */     MCD::OPC_Decode, 220, 2, 5, // Opcode: AND
191/* 530 */     MCD::OPC_FilterValue, 2, 4, 0, 0, // Skip to: 539
192/* 535 */     MCD::OPC_Decode, 228, 4, 5, // Opcode: OR
193/* 539 */     MCD::OPC_FilterValue, 3, 4, 0, 0, // Skip to: 548
194/* 544 */     MCD::OPC_Decode, 167, 5, 5, // Opcode: XOR
195/* 548 */     MCD::OPC_FilterValue, 4, 4, 0, 0, // Skip to: 557
196/* 553 */     MCD::OPC_Decode, 230, 4, 5, // Opcode: ORN
197/* 557 */     MCD::OPC_FilterValue, 5, 4, 0, 0, // Skip to: 566
198/* 562 */     MCD::OPC_Decode, 222, 2, 5, // Opcode: ANDN
199/* 566 */     MCD::OPC_FilterValue, 6, 4, 0, 0, // Skip to: 575
200/* 571 */     MCD::OPC_Decode, 255, 4, 5, // Opcode: SLL_W
201/* 575 */     MCD::OPC_FilterValue, 7, 151, 19, 0, // Skip to: 5595
202/* 580 */     MCD::OPC_Decode, 139, 5, 5, // Opcode: SRL_W
203/* 584 */     MCD::OPC_FilterValue, 6, 77, 0, 0, // Skip to: 666
204/* 589 */     MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
205/* 592 */     MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 601
206/* 597 */     MCD::OPC_Decode, 135, 5, 5, // Opcode: SRA_W
207/* 601 */     MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 615
208/* 606 */     MCD::OPC_CheckPredicate, 0, 120, 19, 0, // Skip to: 5595
209/* 611 */     MCD::OPC_Decode, 254, 4, 5, // Opcode: SLL_D
210/* 615 */     MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 629
211/* 620 */     MCD::OPC_CheckPredicate, 0, 106, 19, 0, // Skip to: 5595
212/* 625 */     MCD::OPC_Decode, 138, 5, 5, // Opcode: SRL_D
213/* 629 */     MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 643
214/* 634 */     MCD::OPC_CheckPredicate, 0, 92, 19, 0, // Skip to: 5595
215/* 639 */     MCD::OPC_Decode, 134, 5, 5, // Opcode: SRA_D
216/* 643 */     MCD::OPC_FilterValue, 6, 4, 0, 0, // Skip to: 652
217/* 648 */     MCD::OPC_Decode, 249, 4, 5, // Opcode: ROTR_W
218/* 652 */     MCD::OPC_FilterValue, 7, 74, 19, 0, // Skip to: 5595
219/* 657 */     MCD::OPC_CheckPredicate, 0, 69, 19, 0, // Skip to: 5595
220/* 662 */     MCD::OPC_Decode, 248, 4, 5, // Opcode: ROTR_D
221/* 666 */     MCD::OPC_FilterValue, 7, 100, 0, 0, // Skip to: 771
222/* 671 */     MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
223/* 674 */     MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 683
224/* 679 */     MCD::OPC_Decode, 226, 4, 5, // Opcode: MUL_W
225/* 683 */     MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 692
226/* 688 */     MCD::OPC_Decode, 221, 4, 5, // Opcode: MULH_W
227/* 692 */     MCD::OPC_FilterValue, 2, 4, 0, 0, // Skip to: 701
228/* 697 */     MCD::OPC_Decode, 222, 4, 5, // Opcode: MULH_WU
229/* 701 */     MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 715
230/* 706 */     MCD::OPC_CheckPredicate, 0, 20, 19, 0, // Skip to: 5595
231/* 711 */     MCD::OPC_Decode, 225, 4, 5, // Opcode: MUL_D
232/* 715 */     MCD::OPC_FilterValue, 4, 9, 0, 0, // Skip to: 729
233/* 720 */     MCD::OPC_CheckPredicate, 0, 6, 19, 0, // Skip to: 5595
234/* 725 */     MCD::OPC_Decode, 219, 4, 5, // Opcode: MULH_D
235/* 729 */     MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 743
236/* 734 */     MCD::OPC_CheckPredicate, 0, 248, 18, 0, // Skip to: 5595
237/* 739 */     MCD::OPC_Decode, 220, 4, 5, // Opcode: MULH_DU
238/* 743 */     MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 757
239/* 748 */     MCD::OPC_CheckPredicate, 0, 234, 18, 0, // Skip to: 5595
240/* 753 */     MCD::OPC_Decode, 223, 4, 5, // Opcode: MULW_D_W
241/* 757 */     MCD::OPC_FilterValue, 7, 225, 18, 0, // Skip to: 5595
242/* 762 */     MCD::OPC_CheckPredicate, 0, 220, 18, 0, // Skip to: 5595
243/* 767 */     MCD::OPC_Decode, 224, 4, 5, // Opcode: MULW_D_WU
244/* 771 */     MCD::OPC_FilterValue, 8, 95, 0, 0, // Skip to: 871
245/* 776 */     MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
246/* 779 */     MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 788
247/* 784 */     MCD::OPC_Decode, 145, 3, 5, // Opcode: DIV_W
248/* 788 */     MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 797
249/* 793 */     MCD::OPC_Decode, 203, 4, 5, // Opcode: MOD_W
250/* 797 */     MCD::OPC_FilterValue, 2, 4, 0, 0, // Skip to: 806
251/* 802 */     MCD::OPC_Decode, 146, 3, 5, // Opcode: DIV_WU
252/* 806 */     MCD::OPC_FilterValue, 3, 4, 0, 0, // Skip to: 815
253/* 811 */     MCD::OPC_Decode, 204, 4, 5, // Opcode: MOD_WU
254/* 815 */     MCD::OPC_FilterValue, 4, 9, 0, 0, // Skip to: 829
255/* 820 */     MCD::OPC_CheckPredicate, 0, 162, 18, 0, // Skip to: 5595
256/* 825 */     MCD::OPC_Decode, 143, 3, 5, // Opcode: DIV_D
257/* 829 */     MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 843
258/* 834 */     MCD::OPC_CheckPredicate, 0, 148, 18, 0, // Skip to: 5595
259/* 839 */     MCD::OPC_Decode, 201, 4, 5, // Opcode: MOD_D
260/* 843 */     MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 857
261/* 848 */     MCD::OPC_CheckPredicate, 0, 134, 18, 0, // Skip to: 5595
262/* 853 */     MCD::OPC_Decode, 144, 3, 5, // Opcode: DIV_DU
263/* 857 */     MCD::OPC_FilterValue, 7, 125, 18, 0, // Skip to: 5595
264/* 862 */     MCD::OPC_CheckPredicate, 0, 120, 18, 0, // Skip to: 5595
265/* 867 */     MCD::OPC_Decode, 202, 4, 5, // Opcode: MOD_DU
266/* 871 */     MCD::OPC_FilterValue, 9, 115, 0, 0, // Skip to: 991
267/* 876 */     MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
268/* 879 */     MCD::OPC_FilterValue, 0, 9, 0, 0, // Skip to: 893
269/* 884 */     MCD::OPC_CheckPredicate, 0, 98, 18, 0, // Skip to: 5595
270/* 889 */     MCD::OPC_Decode, 130, 3, 5, // Opcode: CRC_W_B_W
271/* 893 */     MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 907
272/* 898 */     MCD::OPC_CheckPredicate, 0, 84, 18, 0, // Skip to: 5595
273/* 903 */     MCD::OPC_Decode, 132, 3, 5, // Opcode: CRC_W_H_W
274/* 907 */     MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 921
275/* 912 */     MCD::OPC_CheckPredicate, 0, 70, 18, 0, // Skip to: 5595
276/* 917 */     MCD::OPC_Decode, 133, 3, 5, // Opcode: CRC_W_W_W
277/* 921 */     MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 935
278/* 926 */     MCD::OPC_CheckPredicate, 0, 56, 18, 0, // Skip to: 5595
279/* 931 */     MCD::OPC_Decode, 131, 3, 5, // Opcode: CRC_W_D_W
280/* 935 */     MCD::OPC_FilterValue, 4, 9, 0, 0, // Skip to: 949
281/* 940 */     MCD::OPC_CheckPredicate, 0, 42, 18, 0, // Skip to: 5595
282/* 945 */     MCD::OPC_Decode, 254, 2, 5, // Opcode: CRCC_W_B_W
283/* 949 */     MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 963
284/* 954 */     MCD::OPC_CheckPredicate, 0, 28, 18, 0, // Skip to: 5595
285/* 959 */     MCD::OPC_Decode, 128, 3, 5, // Opcode: CRCC_W_H_W
286/* 963 */     MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 977
287/* 968 */     MCD::OPC_CheckPredicate, 0, 14, 18, 0, // Skip to: 5595
288/* 973 */     MCD::OPC_Decode, 129, 3, 5, // Opcode: CRCC_W_W_W
289/* 977 */     MCD::OPC_FilterValue, 7, 5, 18, 0, // Skip to: 5595
290/* 982 */     MCD::OPC_CheckPredicate, 0, 0, 18, 0, // Skip to: 5595
291/* 987 */     MCD::OPC_Decode, 255, 2, 5, // Opcode: CRCC_W_D_W
292/* 991 */     MCD::OPC_FilterValue, 10, 30, 0, 0, // Skip to: 1026
293/* 996 */     MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
294/* 999 */     MCD::OPC_FilterValue, 4, 4, 0, 0, // Skip to: 1008
295/* 1004 */    MCD::OPC_Decode, 241, 2, 6, // Opcode: BREAK
296/* 1008 */    MCD::OPC_FilterValue, 5, 4, 0, 0, // Skip to: 1017
297/* 1013 */    MCD::OPC_Decode, 142, 3, 6, // Opcode: DBCL
298/* 1017 */    MCD::OPC_FilterValue, 6, 221, 17, 0, // Skip to: 5595
299/* 1022 */    MCD::OPC_Decode, 160, 5, 6, // Opcode: SYSCALL
300/* 1026 */    MCD::OPC_FilterValue, 11, 212, 17, 0, // Skip to: 5595
301/* 1031 */    MCD::OPC_CheckPredicate, 0, 207, 17, 0, // Skip to: 5595
302/* 1036 */    MCD::OPC_CheckField, 17, 1, 0, 200, 17, 0, // Skip to: 5595
303/* 1043 */    MCD::OPC_Decode, 181, 2, 2, // Opcode: ALSL_D
304/* 1047 */    MCD::OPC_FilterValue, 1, 157, 0, 0, // Skip to: 1209
305/* 1052 */    MCD::OPC_ExtractField, 21, 1,  // Inst{21} ...
306/* 1055 */    MCD::OPC_FilterValue, 0, 123, 0, 0, // Skip to: 1183
307/* 1060 */    MCD::OPC_ExtractField, 16, 5,  // Inst{20-16} ...
308/* 1063 */    MCD::OPC_FilterValue, 0, 11, 0, 0, // Skip to: 1079
309/* 1068 */    MCD::OPC_CheckField, 15, 1, 1, 168, 17, 0, // Skip to: 5595
310/* 1075 */    MCD::OPC_Decode, 253, 4, 7, // Opcode: SLLI_W
311/* 1079 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 1093
312/* 1084 */    MCD::OPC_CheckPredicate, 0, 154, 17, 0, // Skip to: 5595
313/* 1089 */    MCD::OPC_Decode, 252, 4, 8, // Opcode: SLLI_D
314/* 1093 */    MCD::OPC_FilterValue, 4, 11, 0, 0, // Skip to: 1109
315/* 1098 */    MCD::OPC_CheckField, 15, 1, 1, 138, 17, 0, // Skip to: 5595
316/* 1105 */    MCD::OPC_Decode, 137, 5, 7, // Opcode: SRLI_W
317/* 1109 */    MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 1123
318/* 1114 */    MCD::OPC_CheckPredicate, 0, 124, 17, 0, // Skip to: 5595
319/* 1119 */    MCD::OPC_Decode, 136, 5, 8, // Opcode: SRLI_D
320/* 1123 */    MCD::OPC_FilterValue, 8, 11, 0, 0, // Skip to: 1139
321/* 1128 */    MCD::OPC_CheckField, 15, 1, 1, 108, 17, 0, // Skip to: 5595
322/* 1135 */    MCD::OPC_Decode, 133, 5, 7, // Opcode: SRAI_W
323/* 1139 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 1153
324/* 1144 */    MCD::OPC_CheckPredicate, 0, 94, 17, 0, // Skip to: 5595
325/* 1149 */    MCD::OPC_Decode, 132, 5, 8, // Opcode: SRAI_D
326/* 1153 */    MCD::OPC_FilterValue, 12, 11, 0, 0, // Skip to: 1169
327/* 1158 */    MCD::OPC_CheckField, 15, 1, 1, 78, 17, 0, // Skip to: 5595
328/* 1165 */    MCD::OPC_Decode, 247, 4, 7, // Opcode: ROTRI_W
329/* 1169 */    MCD::OPC_FilterValue, 13, 69, 17, 0, // Skip to: 5595
330/* 1174 */    MCD::OPC_CheckPredicate, 0, 64, 17, 0, // Skip to: 5595
331/* 1179 */    MCD::OPC_Decode, 246, 4, 8, // Opcode: ROTRI_D
332/* 1183 */    MCD::OPC_FilterValue, 1, 55, 17, 0, // Skip to: 5595
333/* 1188 */    MCD::OPC_ExtractField, 15, 1,  // Inst{15} ...
334/* 1191 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 1200
335/* 1196 */    MCD::OPC_Decode, 243, 2, 9, // Opcode: BSTRINS_W
336/* 1200 */    MCD::OPC_FilterValue, 1, 38, 17, 0, // Skip to: 5595
337/* 1205 */    MCD::OPC_Decode, 245, 2, 10, // Opcode: BSTRPICK_W
338/* 1209 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 1223
339/* 1214 */    MCD::OPC_CheckPredicate, 0, 24, 17, 0, // Skip to: 5595
340/* 1219 */    MCD::OPC_Decode, 242, 2, 11, // Opcode: BSTRINS_D
341/* 1223 */    MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 1237
342/* 1228 */    MCD::OPC_CheckPredicate, 0, 10, 17, 0, // Skip to: 5595
343/* 1233 */    MCD::OPC_Decode, 244, 2, 12, // Opcode: BSTRPICK_D
344/* 1237 */    MCD::OPC_FilterValue, 4, 107, 4, 0, // Skip to: 2373
345/* 1242 */    MCD::OPC_ExtractField, 15, 7,  // Inst{21-15} ...
346/* 1245 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 1259
347/* 1250 */    MCD::OPC_CheckPredicate, 1, 244, 16, 0, // Skip to: 5595
348/* 1255 */    MCD::OPC_Decode, 153, 3, 13, // Opcode: FADD_S
349/* 1259 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 1273
350/* 1264 */    MCD::OPC_CheckPredicate, 2, 230, 16, 0, // Skip to: 5595
351/* 1269 */    MCD::OPC_Decode, 152, 3, 14, // Opcode: FADD_D
352/* 1273 */    MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 1287
353/* 1278 */    MCD::OPC_CheckPredicate, 1, 216, 16, 0, // Skip to: 5595
354/* 1283 */    MCD::OPC_Decode, 135, 4, 13, // Opcode: FSUB_S
355/* 1287 */    MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 1301
356/* 1292 */    MCD::OPC_CheckPredicate, 2, 202, 16, 0, // Skip to: 5595
357/* 1297 */    MCD::OPC_Decode, 134, 4, 14, // Opcode: FSUB_D
358/* 1301 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 1315
359/* 1306 */    MCD::OPC_CheckPredicate, 1, 188, 16, 0, // Skip to: 5595
360/* 1311 */    MCD::OPC_Decode, 235, 3, 13, // Opcode: FMUL_S
361/* 1315 */    MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 1329
362/* 1320 */    MCD::OPC_CheckPredicate, 2, 174, 16, 0, // Skip to: 5595
363/* 1325 */    MCD::OPC_Decode, 234, 3, 14, // Opcode: FMUL_D
364/* 1329 */    MCD::OPC_FilterValue, 13, 9, 0, 0, // Skip to: 1343
365/* 1334 */    MCD::OPC_CheckPredicate, 1, 160, 16, 0, // Skip to: 5595
366/* 1339 */    MCD::OPC_Decode, 205, 3, 13, // Opcode: FDIV_S
367/* 1343 */    MCD::OPC_FilterValue, 14, 9, 0, 0, // Skip to: 1357
368/* 1348 */    MCD::OPC_CheckPredicate, 2, 146, 16, 0, // Skip to: 5595
369/* 1353 */    MCD::OPC_Decode, 204, 3, 14, // Opcode: FDIV_D
370/* 1357 */    MCD::OPC_FilterValue, 17, 9, 0, 0, // Skip to: 1371
371/* 1362 */    MCD::OPC_CheckPredicate, 1, 132, 16, 0, // Skip to: 5595
372/* 1367 */    MCD::OPC_Decode, 225, 3, 13, // Opcode: FMAX_S
373/* 1371 */    MCD::OPC_FilterValue, 18, 9, 0, 0, // Skip to: 1385
374/* 1376 */    MCD::OPC_CheckPredicate, 2, 118, 16, 0, // Skip to: 5595
375/* 1381 */    MCD::OPC_Decode, 224, 3, 14, // Opcode: FMAX_D
376/* 1385 */    MCD::OPC_FilterValue, 21, 9, 0, 0, // Skip to: 1399
377/* 1390 */    MCD::OPC_CheckPredicate, 1, 104, 16, 0, // Skip to: 5595
378/* 1395 */    MCD::OPC_Decode, 229, 3, 13, // Opcode: FMIN_S
379/* 1399 */    MCD::OPC_FilterValue, 22, 9, 0, 0, // Skip to: 1413
380/* 1404 */    MCD::OPC_CheckPredicate, 2, 90, 16, 0, // Skip to: 5595
381/* 1409 */    MCD::OPC_Decode, 228, 3, 14, // Opcode: FMIN_D
382/* 1413 */    MCD::OPC_FilterValue, 25, 9, 0, 0, // Skip to: 1427
383/* 1418 */    MCD::OPC_CheckPredicate, 1, 76, 16, 0, // Skip to: 5595
384/* 1423 */    MCD::OPC_Decode, 223, 3, 13, // Opcode: FMAXA_S
385/* 1427 */    MCD::OPC_FilterValue, 26, 9, 0, 0, // Skip to: 1441
386/* 1432 */    MCD::OPC_CheckPredicate, 2, 62, 16, 0, // Skip to: 5595
387/* 1437 */    MCD::OPC_Decode, 222, 3, 14, // Opcode: FMAXA_D
388/* 1441 */    MCD::OPC_FilterValue, 29, 9, 0, 0, // Skip to: 1455
389/* 1446 */    MCD::OPC_CheckPredicate, 1, 48, 16, 0, // Skip to: 5595
390/* 1451 */    MCD::OPC_Decode, 227, 3, 13, // Opcode: FMINA_S
391/* 1455 */    MCD::OPC_FilterValue, 30, 9, 0, 0, // Skip to: 1469
392/* 1460 */    MCD::OPC_CheckPredicate, 2, 34, 16, 0, // Skip to: 5595
393/* 1465 */    MCD::OPC_Decode, 226, 3, 14, // Opcode: FMINA_D
394/* 1469 */    MCD::OPC_FilterValue, 33, 9, 0, 0, // Skip to: 1483
395/* 1474 */    MCD::OPC_CheckPredicate, 1, 20, 16, 0, // Skip to: 5595
396/* 1479 */    MCD::OPC_Decode, 249, 3, 13, // Opcode: FSCALEB_S
397/* 1483 */    MCD::OPC_FilterValue, 34, 9, 0, 0, // Skip to: 1497
398/* 1488 */    MCD::OPC_CheckPredicate, 2, 6, 16, 0, // Skip to: 5595
399/* 1493 */    MCD::OPC_Decode, 248, 3, 14, // Opcode: FSCALEB_D
400/* 1497 */    MCD::OPC_FilterValue, 37, 9, 0, 0, // Skip to: 1511
401/* 1502 */    MCD::OPC_CheckPredicate, 1, 248, 15, 0, // Skip to: 5595
402/* 1507 */    MCD::OPC_Decode, 201, 3, 13, // Opcode: FCOPYSIGN_S
403/* 1511 */    MCD::OPC_FilterValue, 38, 9, 0, 0, // Skip to: 1525
404/* 1516 */    MCD::OPC_CheckPredicate, 2, 234, 15, 0, // Skip to: 5595
405/* 1521 */    MCD::OPC_Decode, 200, 3, 14, // Opcode: FCOPYSIGN_D
406/* 1525 */    MCD::OPC_FilterValue, 40, 199, 0, 0, // Skip to: 1729
407/* 1530 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
408/* 1533 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 1547
409/* 1538 */    MCD::OPC_CheckPredicate, 1, 212, 15, 0, // Skip to: 5595
410/* 1543 */    MCD::OPC_Decode, 151, 3, 15, // Opcode: FABS_S
411/* 1547 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 1561
412/* 1552 */    MCD::OPC_CheckPredicate, 2, 198, 15, 0, // Skip to: 5595
413/* 1557 */    MCD::OPC_Decode, 150, 3, 16, // Opcode: FABS_D
414/* 1561 */    MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 1575
415/* 1566 */    MCD::OPC_CheckPredicate, 1, 184, 15, 0, // Skip to: 5595
416/* 1571 */    MCD::OPC_Decode, 237, 3, 15, // Opcode: FNEG_S
417/* 1575 */    MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 1589
418/* 1580 */    MCD::OPC_CheckPredicate, 2, 170, 15, 0, // Skip to: 5595
419/* 1585 */    MCD::OPC_Decode, 236, 3, 16, // Opcode: FNEG_D
420/* 1589 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 1603
421/* 1594 */    MCD::OPC_CheckPredicate, 1, 156, 15, 0, // Skip to: 5595
422/* 1599 */    MCD::OPC_Decode, 219, 3, 15, // Opcode: FLOGB_S
423/* 1603 */    MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 1617
424/* 1608 */    MCD::OPC_CheckPredicate, 2, 142, 15, 0, // Skip to: 5595
425/* 1613 */    MCD::OPC_Decode, 218, 3, 16, // Opcode: FLOGB_D
426/* 1617 */    MCD::OPC_FilterValue, 13, 9, 0, 0, // Skip to: 1631
427/* 1622 */    MCD::OPC_CheckPredicate, 1, 128, 15, 0, // Skip to: 5595
428/* 1627 */    MCD::OPC_Decode, 155, 3, 15, // Opcode: FCLASS_S
429/* 1631 */    MCD::OPC_FilterValue, 14, 9, 0, 0, // Skip to: 1645
430/* 1636 */    MCD::OPC_CheckPredicate, 2, 114, 15, 0, // Skip to: 5595
431/* 1641 */    MCD::OPC_Decode, 154, 3, 16, // Opcode: FCLASS_D
432/* 1645 */    MCD::OPC_FilterValue, 17, 9, 0, 0, // Skip to: 1659
433/* 1650 */    MCD::OPC_CheckPredicate, 1, 100, 15, 0, // Skip to: 5595
434/* 1655 */    MCD::OPC_Decode, 253, 3, 15, // Opcode: FSQRT_S
435/* 1659 */    MCD::OPC_FilterValue, 18, 9, 0, 0, // Skip to: 1673
436/* 1664 */    MCD::OPC_CheckPredicate, 2, 86, 15, 0, // Skip to: 5595
437/* 1669 */    MCD::OPC_Decode, 252, 3, 16, // Opcode: FSQRT_D
438/* 1673 */    MCD::OPC_FilterValue, 21, 9, 0, 0, // Skip to: 1687
439/* 1678 */    MCD::OPC_CheckPredicate, 1, 72, 15, 0, // Skip to: 5595
440/* 1683 */    MCD::OPC_Decode, 243, 3, 15, // Opcode: FRECIP_S
441/* 1687 */    MCD::OPC_FilterValue, 22, 9, 0, 0, // Skip to: 1701
442/* 1692 */    MCD::OPC_CheckPredicate, 2, 58, 15, 0, // Skip to: 5595
443/* 1697 */    MCD::OPC_Decode, 242, 3, 16, // Opcode: FRECIP_D
444/* 1701 */    MCD::OPC_FilterValue, 25, 9, 0, 0, // Skip to: 1715
445/* 1706 */    MCD::OPC_CheckPredicate, 1, 44, 15, 0, // Skip to: 5595
446/* 1711 */    MCD::OPC_Decode, 247, 3, 15, // Opcode: FRSQRT_S
447/* 1715 */    MCD::OPC_FilterValue, 26, 35, 15, 0, // Skip to: 5595
448/* 1720 */    MCD::OPC_CheckPredicate, 2, 30, 15, 0, // Skip to: 5595
449/* 1725 */    MCD::OPC_Decode, 246, 3, 16, // Opcode: FRSQRT_D
450/* 1729 */    MCD::OPC_FilterValue, 41, 199, 0, 0, // Skip to: 1933
451/* 1734 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
452/* 1737 */    MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 1751
453/* 1742 */    MCD::OPC_CheckPredicate, 1, 8, 15, 0, // Skip to: 5595
454/* 1747 */    MCD::OPC_Decode, 231, 3, 15, // Opcode: FMOV_S
455/* 1751 */    MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 1765
456/* 1756 */    MCD::OPC_CheckPredicate, 2, 250, 14, 0, // Skip to: 5595
457/* 1761 */    MCD::OPC_Decode, 230, 3, 16, // Opcode: FMOV_D
458/* 1765 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 1779
459/* 1770 */    MCD::OPC_CheckPredicate, 1, 236, 14, 0, // Skip to: 5595
460/* 1775 */    MCD::OPC_Decode, 217, 4, 17, // Opcode: MOVGR2FR_W
461/* 1779 */    MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 1793
462/* 1784 */    MCD::OPC_CheckPredicate, 3, 222, 14, 0, // Skip to: 5595
463/* 1789 */    MCD::OPC_Decode, 216, 4, 18, // Opcode: MOVGR2FR_D
464/* 1793 */    MCD::OPC_FilterValue, 11, 9, 0, 0, // Skip to: 1807
465/* 1798 */    MCD::OPC_CheckPredicate, 2, 208, 14, 0, // Skip to: 5595
466/* 1803 */    MCD::OPC_Decode, 215, 4, 19, // Opcode: MOVGR2FRH_W
467/* 1807 */    MCD::OPC_FilterValue, 13, 9, 0, 0, // Skip to: 1821
468/* 1812 */    MCD::OPC_CheckPredicate, 1, 194, 14, 0, // Skip to: 5595
469/* 1817 */    MCD::OPC_Decode, 210, 4, 20, // Opcode: MOVFR2GR_S
470/* 1821 */    MCD::OPC_FilterValue, 14, 9, 0, 0, // Skip to: 1835
471/* 1826 */    MCD::OPC_CheckPredicate, 3, 180, 14, 0, // Skip to: 5595
472/* 1831 */    MCD::OPC_Decode, 209, 4, 21, // Opcode: MOVFR2GR_D
473/* 1835 */    MCD::OPC_FilterValue, 15, 9, 0, 0, // Skip to: 1849
474/* 1840 */    MCD::OPC_CheckPredicate, 2, 166, 14, 0, // Skip to: 5595
475/* 1845 */    MCD::OPC_Decode, 212, 4, 21, // Opcode: MOVFRH2GR_S
476/* 1849 */    MCD::OPC_FilterValue, 16, 9, 0, 0, // Skip to: 1863
477/* 1854 */    MCD::OPC_CheckPredicate, 1, 152, 14, 0, // Skip to: 5595
478/* 1859 */    MCD::OPC_Decode, 214, 4, 22, // Opcode: MOVGR2FCSR
479/* 1863 */    MCD::OPC_FilterValue, 18, 9, 0, 0, // Skip to: 1877
480/* 1868 */    MCD::OPC_CheckPredicate, 1, 138, 14, 0, // Skip to: 5595
481/* 1873 */    MCD::OPC_Decode, 207, 4, 23, // Opcode: MOVFCSR2GR
482/* 1877 */    MCD::OPC_FilterValue, 20, 9, 0, 0, // Skip to: 1891
483/* 1882 */    MCD::OPC_CheckPredicate, 1, 124, 14, 0, // Skip to: 5595
484/* 1887 */    MCD::OPC_Decode, 208, 4, 24, // Opcode: MOVFR2CF_S
485/* 1891 */    MCD::OPC_FilterValue, 21, 9, 0, 0, // Skip to: 1905
486/* 1896 */    MCD::OPC_CheckPredicate, 1, 110, 14, 0, // Skip to: 5595
487/* 1901 */    MCD::OPC_Decode, 205, 4, 25, // Opcode: MOVCF2FR_S
488/* 1905 */    MCD::OPC_FilterValue, 22, 9, 0, 0, // Skip to: 1919
489/* 1910 */    MCD::OPC_CheckPredicate, 1, 96, 14, 0, // Skip to: 5595
490/* 1915 */    MCD::OPC_Decode, 213, 4, 26, // Opcode: MOVGR2CF
491/* 1919 */    MCD::OPC_FilterValue, 23, 87, 14, 0, // Skip to: 5595
492/* 1924 */    MCD::OPC_CheckPredicate, 1, 82, 14, 0, // Skip to: 5595
493/* 1929 */    MCD::OPC_Decode, 206, 4, 27, // Opcode: MOVCF2GR
494/* 1933 */    MCD::OPC_FilterValue, 50, 31, 0, 0, // Skip to: 1969
495/* 1938 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
496/* 1941 */    MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 1955
497/* 1946 */    MCD::OPC_CheckPredicate, 2, 60, 14, 0, // Skip to: 5595
498/* 1951 */    MCD::OPC_Decode, 203, 3, 28, // Opcode: FCVT_S_D
499/* 1955 */    MCD::OPC_FilterValue, 9, 51, 14, 0, // Skip to: 5595
500/* 1960 */    MCD::OPC_CheckPredicate, 2, 46, 14, 0, // Skip to: 5595
501/* 1965 */    MCD::OPC_Decode, 202, 3, 29, // Opcode: FCVT_D_S
502/* 1969 */    MCD::OPC_FilterValue, 52, 115, 0, 0, // Skip to: 2089
503/* 1974 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
504/* 1977 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 1991
505/* 1982 */    MCD::OPC_CheckPredicate, 1, 24, 14, 0, // Skip to: 5595
506/* 1987 */    MCD::OPC_Decode, 139, 4, 15, // Opcode: FTINTRM_W_S
507/* 1991 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 2005
508/* 1996 */    MCD::OPC_CheckPredicate, 2, 10, 14, 0, // Skip to: 5595
509/* 2001 */    MCD::OPC_Decode, 138, 4, 28, // Opcode: FTINTRM_W_D
510/* 2005 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 2019
511/* 2010 */    MCD::OPC_CheckPredicate, 2, 252, 13, 0, // Skip to: 5595
512/* 2015 */    MCD::OPC_Decode, 137, 4, 29, // Opcode: FTINTRM_L_S
513/* 2019 */    MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 2033
514/* 2024 */    MCD::OPC_CheckPredicate, 2, 238, 13, 0, // Skip to: 5595
515/* 2029 */    MCD::OPC_Decode, 136, 4, 16, // Opcode: FTINTRM_L_D
516/* 2033 */    MCD::OPC_FilterValue, 17, 9, 0, 0, // Skip to: 2047
517/* 2038 */    MCD::OPC_CheckPredicate, 1, 224, 13, 0, // Skip to: 5595
518/* 2043 */    MCD::OPC_Decode, 147, 4, 15, // Opcode: FTINTRP_W_S
519/* 2047 */    MCD::OPC_FilterValue, 18, 9, 0, 0, // Skip to: 2061
520/* 2052 */    MCD::OPC_CheckPredicate, 2, 210, 13, 0, // Skip to: 5595
521/* 2057 */    MCD::OPC_Decode, 146, 4, 28, // Opcode: FTINTRP_W_D
522/* 2061 */    MCD::OPC_FilterValue, 25, 9, 0, 0, // Skip to: 2075
523/* 2066 */    MCD::OPC_CheckPredicate, 2, 196, 13, 0, // Skip to: 5595
524/* 2071 */    MCD::OPC_Decode, 145, 4, 29, // Opcode: FTINTRP_L_S
525/* 2075 */    MCD::OPC_FilterValue, 26, 187, 13, 0, // Skip to: 5595
526/* 2080 */    MCD::OPC_CheckPredicate, 2, 182, 13, 0, // Skip to: 5595
527/* 2085 */    MCD::OPC_Decode, 144, 4, 16, // Opcode: FTINTRP_L_D
528/* 2089 */    MCD::OPC_FilterValue, 53, 115, 0, 0, // Skip to: 2209
529/* 2094 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
530/* 2097 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 2111
531/* 2102 */    MCD::OPC_CheckPredicate, 1, 160, 13, 0, // Skip to: 5595
532/* 2107 */    MCD::OPC_Decode, 151, 4, 15, // Opcode: FTINTRZ_W_S
533/* 2111 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 2125
534/* 2116 */    MCD::OPC_CheckPredicate, 2, 146, 13, 0, // Skip to: 5595
535/* 2121 */    MCD::OPC_Decode, 150, 4, 28, // Opcode: FTINTRZ_W_D
536/* 2125 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 2139
537/* 2130 */    MCD::OPC_CheckPredicate, 2, 132, 13, 0, // Skip to: 5595
538/* 2135 */    MCD::OPC_Decode, 149, 4, 29, // Opcode: FTINTRZ_L_S
539/* 2139 */    MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 2153
540/* 2144 */    MCD::OPC_CheckPredicate, 2, 118, 13, 0, // Skip to: 5595
541/* 2149 */    MCD::OPC_Decode, 148, 4, 16, // Opcode: FTINTRZ_L_D
542/* 2153 */    MCD::OPC_FilterValue, 17, 9, 0, 0, // Skip to: 2167
543/* 2158 */    MCD::OPC_CheckPredicate, 1, 104, 13, 0, // Skip to: 5595
544/* 2163 */    MCD::OPC_Decode, 143, 4, 15, // Opcode: FTINTRNE_W_S
545/* 2167 */    MCD::OPC_FilterValue, 18, 9, 0, 0, // Skip to: 2181
546/* 2172 */    MCD::OPC_CheckPredicate, 2, 90, 13, 0, // Skip to: 5595
547/* 2177 */    MCD::OPC_Decode, 142, 4, 28, // Opcode: FTINTRNE_W_D
548/* 2181 */    MCD::OPC_FilterValue, 25, 9, 0, 0, // Skip to: 2195
549/* 2186 */    MCD::OPC_CheckPredicate, 2, 76, 13, 0, // Skip to: 5595
550/* 2191 */    MCD::OPC_Decode, 141, 4, 29, // Opcode: FTINTRNE_L_S
551/* 2195 */    MCD::OPC_FilterValue, 26, 67, 13, 0, // Skip to: 5595
552/* 2200 */    MCD::OPC_CheckPredicate, 2, 62, 13, 0, // Skip to: 5595
553/* 2205 */    MCD::OPC_Decode, 140, 4, 16, // Opcode: FTINTRNE_L_D
554/* 2209 */    MCD::OPC_FilterValue, 54, 59, 0, 0, // Skip to: 2273
555/* 2214 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
556/* 2217 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 2231
557/* 2222 */    MCD::OPC_CheckPredicate, 1, 40, 13, 0, // Skip to: 5595
558/* 2227 */    MCD::OPC_Decode, 155, 4, 15, // Opcode: FTINT_W_S
559/* 2231 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 2245
560/* 2236 */    MCD::OPC_CheckPredicate, 2, 26, 13, 0, // Skip to: 5595
561/* 2241 */    MCD::OPC_Decode, 154, 4, 28, // Opcode: FTINT_W_D
562/* 2245 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 2259
563/* 2250 */    MCD::OPC_CheckPredicate, 2, 12, 13, 0, // Skip to: 5595
564/* 2255 */    MCD::OPC_Decode, 153, 4, 29, // Opcode: FTINT_L_S
565/* 2259 */    MCD::OPC_FilterValue, 10, 3, 13, 0, // Skip to: 5595
566/* 2264 */    MCD::OPC_CheckPredicate, 2, 254, 12, 0, // Skip to: 5595
567/* 2269 */    MCD::OPC_Decode, 152, 4, 16, // Opcode: FTINT_L_D
568/* 2273 */    MCD::OPC_FilterValue, 58, 59, 0, 0, // Skip to: 2337
569/* 2278 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
570/* 2281 */    MCD::OPC_FilterValue, 4, 9, 0, 0, // Skip to: 2295
571/* 2286 */    MCD::OPC_CheckPredicate, 1, 232, 12, 0, // Skip to: 5595
572/* 2291 */    MCD::OPC_Decode, 209, 3, 15, // Opcode: FFINT_S_W
573/* 2295 */    MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 2309
574/* 2300 */    MCD::OPC_CheckPredicate, 2, 218, 12, 0, // Skip to: 5595
575/* 2305 */    MCD::OPC_Decode, 208, 3, 28, // Opcode: FFINT_S_L
576/* 2309 */    MCD::OPC_FilterValue, 8, 9, 0, 0, // Skip to: 2323
577/* 2314 */    MCD::OPC_CheckPredicate, 2, 204, 12, 0, // Skip to: 5595
578/* 2319 */    MCD::OPC_Decode, 207, 3, 29, // Opcode: FFINT_D_W
579/* 2323 */    MCD::OPC_FilterValue, 10, 195, 12, 0, // Skip to: 5595
580/* 2328 */    MCD::OPC_CheckPredicate, 2, 190, 12, 0, // Skip to: 5595
581/* 2333 */    MCD::OPC_Decode, 206, 3, 16, // Opcode: FFINT_D_L
582/* 2337 */    MCD::OPC_FilterValue, 60, 181, 12, 0, // Skip to: 5595
583/* 2342 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
584/* 2345 */    MCD::OPC_FilterValue, 17, 9, 0, 0, // Skip to: 2359
585/* 2350 */    MCD::OPC_CheckPredicate, 1, 168, 12, 0, // Skip to: 5595
586/* 2355 */    MCD::OPC_Decode, 245, 3, 15, // Opcode: FRINT_S
587/* 2359 */    MCD::OPC_FilterValue, 18, 159, 12, 0, // Skip to: 5595
588/* 2364 */    MCD::OPC_CheckPredicate, 2, 154, 12, 0, // Skip to: 5595
589/* 2369 */    MCD::OPC_Decode, 244, 3, 16, // Opcode: FRINT_D
590/* 2373 */    MCD::OPC_FilterValue, 8, 4, 0, 0, // Skip to: 2382
591/* 2378 */    MCD::OPC_Decode, 129, 5, 30, // Opcode: SLTI
592/* 2382 */    MCD::OPC_FilterValue, 9, 4, 0, 0, // Skip to: 2391
593/* 2387 */    MCD::OPC_Decode, 131, 5, 30, // Opcode: SLTUI
594/* 2391 */    MCD::OPC_FilterValue, 10, 4, 0, 0, // Skip to: 2400
595/* 2396 */    MCD::OPC_Decode, 177, 2, 30, // Opcode: ADDI_W
596/* 2400 */    MCD::OPC_FilterValue, 11, 9, 0, 0, // Skip to: 2414
597/* 2405 */    MCD::OPC_CheckPredicate, 0, 113, 12, 0, // Skip to: 5595
598/* 2410 */    MCD::OPC_Decode, 176, 2, 30, // Opcode: ADDI_D
599/* 2414 */    MCD::OPC_FilterValue, 12, 9, 0, 0, // Skip to: 2428
600/* 2419 */    MCD::OPC_CheckPredicate, 0, 99, 12, 0, // Skip to: 5595
601/* 2424 */    MCD::OPC_Decode, 198, 4, 30, // Opcode: LU52I_D
602/* 2428 */    MCD::OPC_FilterValue, 13, 4, 0, 0, // Skip to: 2437
603/* 2433 */    MCD::OPC_Decode, 221, 2, 31, // Opcode: ANDI
604/* 2437 */    MCD::OPC_FilterValue, 14, 4, 0, 0, // Skip to: 2446
605/* 2442 */    MCD::OPC_Decode, 229, 4, 31, // Opcode: ORI
606/* 2446 */    MCD::OPC_FilterValue, 15, 72, 12, 0, // Skip to: 5595
607/* 2451 */    MCD::OPC_Decode, 168, 5, 31, // Opcode: XORI
608/* 2455 */    MCD::OPC_FilterValue, 1, 55, 1, 0, // Skip to: 2771
609/* 2460 */    MCD::OPC_ExtractField, 24, 2,  // Inst{25-24} ...
610/* 2463 */    MCD::OPC_FilterValue, 0, 25, 0, 0, // Skip to: 2493
611/* 2468 */    MCD::OPC_ExtractField, 5, 5,  // Inst{9-5} ...
612/* 2471 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 2480
613/* 2476 */    MCD::OPC_Decode, 134, 3, 32, // Opcode: CSRRD
614/* 2480 */    MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 2489
615/* 2485 */    MCD::OPC_Decode, 135, 3, 33, // Opcode: CSRWR
616/* 2489 */    MCD::OPC_Decode, 136, 3, 34, // Opcode: CSRXCHG
617/* 2493 */    MCD::OPC_FilterValue, 2, 25, 12, 0, // Skip to: 5595
618/* 2498 */    MCD::OPC_ExtractField, 22, 2,  // Inst{23-22} ...
619/* 2501 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 2510
620/* 2506 */    MCD::OPC_Decode, 248, 2, 35, // Opcode: CACOP
621/* 2510 */    MCD::OPC_FilterValue, 1, 8, 12, 0, // Skip to: 5595
622/* 2515 */    MCD::OPC_ExtractField, 18, 4,  // Inst{21-18} ...
623/* 2518 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 2527
624/* 2523 */    MCD::OPC_Decode, 168, 4, 36, // Opcode: LDDIR
625/* 2527 */    MCD::OPC_FilterValue, 1, 11, 0, 0, // Skip to: 2543
626/* 2532 */    MCD::OPC_CheckField, 0, 5, 0, 240, 11, 0, // Skip to: 5595
627/* 2539 */    MCD::OPC_Decode, 177, 4, 37, // Opcode: LDPTE
628/* 2543 */    MCD::OPC_FilterValue, 2, 231, 11, 0, // Skip to: 5595
629/* 2548 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
630/* 2551 */    MCD::OPC_FilterValue, 0, 197, 0, 0, // Skip to: 2753
631/* 2556 */    MCD::OPC_ExtractField, 10, 5,  // Inst{14-10} ...
632/* 2559 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 2568
633/* 2564 */    MCD::OPC_Decode, 159, 4, 0, // Opcode: IOCSRRD_B
634/* 2568 */    MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 2577
635/* 2573 */    MCD::OPC_Decode, 161, 4, 0, // Opcode: IOCSRRD_H
636/* 2577 */    MCD::OPC_FilterValue, 2, 4, 0, 0, // Skip to: 2586
637/* 2582 */    MCD::OPC_Decode, 162, 4, 0, // Opcode: IOCSRRD_W
638/* 2586 */    MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 2600
639/* 2591 */    MCD::OPC_CheckPredicate, 0, 183, 11, 0, // Skip to: 5595
640/* 2596 */    MCD::OPC_Decode, 160, 4, 0, // Opcode: IOCSRRD_D
641/* 2600 */    MCD::OPC_FilterValue, 4, 4, 0, 0, // Skip to: 2609
642/* 2605 */    MCD::OPC_Decode, 163, 4, 0, // Opcode: IOCSRWR_B
643/* 2609 */    MCD::OPC_FilterValue, 5, 4, 0, 0, // Skip to: 2618
644/* 2614 */    MCD::OPC_Decode, 165, 4, 0, // Opcode: IOCSRWR_H
645/* 2618 */    MCD::OPC_FilterValue, 6, 4, 0, 0, // Skip to: 2627
646/* 2623 */    MCD::OPC_Decode, 166, 4, 0, // Opcode: IOCSRWR_W
647/* 2627 */    MCD::OPC_FilterValue, 7, 9, 0, 0, // Skip to: 2641
648/* 2632 */    MCD::OPC_CheckPredicate, 0, 142, 11, 0, // Skip to: 5595
649/* 2637 */    MCD::OPC_Decode, 164, 4, 0, // Opcode: IOCSRWR_D
650/* 2641 */    MCD::OPC_FilterValue, 8, 11, 0, 0, // Skip to: 2657
651/* 2646 */    MCD::OPC_CheckField, 0, 10, 0, 126, 11, 0, // Skip to: 5595
652/* 2653 */    MCD::OPC_Decode, 161, 5, 38, // Opcode: TLBCLR
653/* 2657 */    MCD::OPC_FilterValue, 9, 11, 0, 0, // Skip to: 2673
654/* 2662 */    MCD::OPC_CheckField, 0, 10, 0, 110, 11, 0, // Skip to: 5595
655/* 2669 */    MCD::OPC_Decode, 163, 5, 38, // Opcode: TLBFLUSH
656/* 2673 */    MCD::OPC_FilterValue, 10, 11, 0, 0, // Skip to: 2689
657/* 2678 */    MCD::OPC_CheckField, 0, 10, 0, 94, 11, 0, // Skip to: 5595
658/* 2685 */    MCD::OPC_Decode, 165, 5, 38, // Opcode: TLBSRCH
659/* 2689 */    MCD::OPC_FilterValue, 11, 11, 0, 0, // Skip to: 2705
660/* 2694 */    MCD::OPC_CheckField, 0, 10, 0, 78, 11, 0, // Skip to: 5595
661/* 2701 */    MCD::OPC_Decode, 164, 5, 38, // Opcode: TLBRD
662/* 2705 */    MCD::OPC_FilterValue, 12, 11, 0, 0, // Skip to: 2721
663/* 2710 */    MCD::OPC_CheckField, 0, 10, 0, 62, 11, 0, // Skip to: 5595
664/* 2717 */    MCD::OPC_Decode, 166, 5, 38, // Opcode: TLBWR
665/* 2721 */    MCD::OPC_FilterValue, 13, 11, 0, 0, // Skip to: 2737
666/* 2726 */    MCD::OPC_CheckField, 0, 10, 0, 46, 11, 0, // Skip to: 5595
667/* 2733 */    MCD::OPC_Decode, 162, 5, 38, // Opcode: TLBFILL
668/* 2737 */    MCD::OPC_FilterValue, 14, 37, 11, 0, // Skip to: 5595
669/* 2742 */    MCD::OPC_CheckField, 0, 10, 0, 30, 11, 0, // Skip to: 5595
670/* 2749 */    MCD::OPC_Decode, 147, 3, 38, // Opcode: ERTN
671/* 2753 */    MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 2762
672/* 2758 */    MCD::OPC_Decode, 157, 4, 6, // Opcode: IDLE
673/* 2762 */    MCD::OPC_FilterValue, 3, 12, 11, 0, // Skip to: 5595
674/* 2767 */    MCD::OPC_Decode, 158, 4, 39, // Opcode: INVTLB
675/* 2771 */    MCD::OPC_FilterValue, 2, 115, 0, 0, // Skip to: 2891
676/* 2776 */    MCD::OPC_ExtractField, 20, 6,  // Inst{25-20} ...
677/* 2779 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 2793
678/* 2784 */    MCD::OPC_CheckPredicate, 1, 246, 10, 0, // Skip to: 5595
679/* 2789 */    MCD::OPC_Decode, 221, 3, 40, // Opcode: FMADD_S
680/* 2793 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 2807
681/* 2798 */    MCD::OPC_CheckPredicate, 2, 232, 10, 0, // Skip to: 5595
682/* 2803 */    MCD::OPC_Decode, 220, 3, 41, // Opcode: FMADD_D
683/* 2807 */    MCD::OPC_FilterValue, 5, 9, 0, 0, // Skip to: 2821
684/* 2812 */    MCD::OPC_CheckPredicate, 1, 218, 10, 0, // Skip to: 5595
685/* 2817 */    MCD::OPC_Decode, 233, 3, 40, // Opcode: FMSUB_S
686/* 2821 */    MCD::OPC_FilterValue, 6, 9, 0, 0, // Skip to: 2835
687/* 2826 */    MCD::OPC_CheckPredicate, 2, 204, 10, 0, // Skip to: 5595
688/* 2831 */    MCD::OPC_Decode, 232, 3, 41, // Opcode: FMSUB_D
689/* 2835 */    MCD::OPC_FilterValue, 9, 9, 0, 0, // Skip to: 2849
690/* 2840 */    MCD::OPC_CheckPredicate, 1, 190, 10, 0, // Skip to: 5595
691/* 2845 */    MCD::OPC_Decode, 239, 3, 40, // Opcode: FNMADD_S
692/* 2849 */    MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 2863
693/* 2854 */    MCD::OPC_CheckPredicate, 2, 176, 10, 0, // Skip to: 5595
694/* 2859 */    MCD::OPC_Decode, 238, 3, 41, // Opcode: FNMADD_D
695/* 2863 */    MCD::OPC_FilterValue, 13, 9, 0, 0, // Skip to: 2877
696/* 2868 */    MCD::OPC_CheckPredicate, 1, 162, 10, 0, // Skip to: 5595
697/* 2873 */    MCD::OPC_Decode, 241, 3, 40, // Opcode: FNMSUB_S
698/* 2877 */    MCD::OPC_FilterValue, 14, 153, 10, 0, // Skip to: 5595
699/* 2882 */    MCD::OPC_CheckPredicate, 2, 148, 10, 0, // Skip to: 5595
700/* 2887 */    MCD::OPC_Decode, 240, 3, 41, // Opcode: FNMSUB_D
701/* 2891 */    MCD::OPC_FilterValue, 3, 237, 3, 0, // Skip to: 3901
702/* 2896 */    MCD::OPC_ExtractField, 18, 8,  // Inst{25-18} ...
703/* 2899 */    MCD::OPC_FilterValue, 4, 171, 0, 0, // Skip to: 3075
704/* 2904 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
705/* 2907 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 2928
706/* 2912 */    MCD::OPC_CheckPredicate, 1, 118, 10, 0, // Skip to: 5595
707/* 2917 */    MCD::OPC_CheckField, 3, 2, 0, 111, 10, 0, // Skip to: 5595
708/* 2924 */    MCD::OPC_Decode, 157, 3, 42, // Opcode: FCMP_CAF_S
709/* 2928 */    MCD::OPC_FilterValue, 1, 16, 0, 0, // Skip to: 2949
710/* 2933 */    MCD::OPC_CheckPredicate, 1, 97, 10, 0, // Skip to: 5595
711/* 2938 */    MCD::OPC_CheckField, 3, 2, 0, 90, 10, 0, // Skip to: 5595
712/* 2945 */    MCD::OPC_Decode, 179, 3, 42, // Opcode: FCMP_SAF_S
713/* 2949 */    MCD::OPC_FilterValue, 2, 16, 0, 0, // Skip to: 2970
714/* 2954 */    MCD::OPC_CheckPredicate, 1, 76, 10, 0, // Skip to: 5595
715/* 2959 */    MCD::OPC_CheckField, 3, 2, 0, 69, 10, 0, // Skip to: 5595
716/* 2966 */    MCD::OPC_Decode, 163, 3, 42, // Opcode: FCMP_CLT_S
717/* 2970 */    MCD::OPC_FilterValue, 3, 16, 0, 0, // Skip to: 2991
718/* 2975 */    MCD::OPC_CheckPredicate, 1, 55, 10, 0, // Skip to: 5595
719/* 2980 */    MCD::OPC_CheckField, 3, 2, 0, 48, 10, 0, // Skip to: 5595
720/* 2987 */    MCD::OPC_Decode, 185, 3, 42, // Opcode: FCMP_SLT_S
721/* 2991 */    MCD::OPC_FilterValue, 4, 16, 0, 0, // Skip to: 3012
722/* 2996 */    MCD::OPC_CheckPredicate, 1, 34, 10, 0, // Skip to: 5595
723/* 3001 */    MCD::OPC_CheckField, 3, 2, 0, 27, 10, 0, // Skip to: 5595
724/* 3008 */    MCD::OPC_Decode, 159, 3, 42, // Opcode: FCMP_CEQ_S
725/* 3012 */    MCD::OPC_FilterValue, 5, 16, 0, 0, // Skip to: 3033
726/* 3017 */    MCD::OPC_CheckPredicate, 1, 13, 10, 0, // Skip to: 5595
727/* 3022 */    MCD::OPC_CheckField, 3, 2, 0, 6, 10, 0, // Skip to: 5595
728/* 3029 */    MCD::OPC_Decode, 181, 3, 42, // Opcode: FCMP_SEQ_S
729/* 3033 */    MCD::OPC_FilterValue, 6, 16, 0, 0, // Skip to: 3054
730/* 3038 */    MCD::OPC_CheckPredicate, 1, 248, 9, 0, // Skip to: 5595
731/* 3043 */    MCD::OPC_CheckField, 3, 2, 0, 241, 9, 0, // Skip to: 5595
732/* 3050 */    MCD::OPC_Decode, 161, 3, 42, // Opcode: FCMP_CLE_S
733/* 3054 */    MCD::OPC_FilterValue, 7, 232, 9, 0, // Skip to: 5595
734/* 3059 */    MCD::OPC_CheckPredicate, 1, 227, 9, 0, // Skip to: 5595
735/* 3064 */    MCD::OPC_CheckField, 3, 2, 0, 220, 9, 0, // Skip to: 5595
736/* 3071 */    MCD::OPC_Decode, 183, 3, 42, // Opcode: FCMP_SLE_S
737/* 3075 */    MCD::OPC_FilterValue, 5, 171, 0, 0, // Skip to: 3251
738/* 3080 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
739/* 3083 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 3104
740/* 3088 */    MCD::OPC_CheckPredicate, 1, 198, 9, 0, // Skip to: 5595
741/* 3093 */    MCD::OPC_CheckField, 3, 2, 0, 191, 9, 0, // Skip to: 5595
742/* 3100 */    MCD::OPC_Decode, 177, 3, 42, // Opcode: FCMP_CUN_S
743/* 3104 */    MCD::OPC_FilterValue, 1, 16, 0, 0, // Skip to: 3125
744/* 3109 */    MCD::OPC_CheckPredicate, 1, 177, 9, 0, // Skip to: 5595
745/* 3114 */    MCD::OPC_CheckField, 3, 2, 0, 170, 9, 0, // Skip to: 5595
746/* 3121 */    MCD::OPC_Decode, 199, 3, 42, // Opcode: FCMP_SUN_S
747/* 3125 */    MCD::OPC_FilterValue, 2, 16, 0, 0, // Skip to: 3146
748/* 3130 */    MCD::OPC_CheckPredicate, 1, 156, 9, 0, // Skip to: 5595
749/* 3135 */    MCD::OPC_CheckField, 3, 2, 0, 149, 9, 0, // Skip to: 5595
750/* 3142 */    MCD::OPC_Decode, 173, 3, 42, // Opcode: FCMP_CULT_S
751/* 3146 */    MCD::OPC_FilterValue, 3, 16, 0, 0, // Skip to: 3167
752/* 3151 */    MCD::OPC_CheckPredicate, 1, 135, 9, 0, // Skip to: 5595
753/* 3156 */    MCD::OPC_CheckField, 3, 2, 0, 128, 9, 0, // Skip to: 5595
754/* 3163 */    MCD::OPC_Decode, 195, 3, 42, // Opcode: FCMP_SULT_S
755/* 3167 */    MCD::OPC_FilterValue, 4, 16, 0, 0, // Skip to: 3188
756/* 3172 */    MCD::OPC_CheckPredicate, 1, 114, 9, 0, // Skip to: 5595
757/* 3177 */    MCD::OPC_CheckField, 3, 2, 0, 107, 9, 0, // Skip to: 5595
758/* 3184 */    MCD::OPC_Decode, 169, 3, 42, // Opcode: FCMP_CUEQ_S
759/* 3188 */    MCD::OPC_FilterValue, 5, 16, 0, 0, // Skip to: 3209
760/* 3193 */    MCD::OPC_CheckPredicate, 1, 93, 9, 0, // Skip to: 5595
761/* 3198 */    MCD::OPC_CheckField, 3, 2, 0, 86, 9, 0, // Skip to: 5595
762/* 3205 */    MCD::OPC_Decode, 191, 3, 42, // Opcode: FCMP_SUEQ_S
763/* 3209 */    MCD::OPC_FilterValue, 6, 16, 0, 0, // Skip to: 3230
764/* 3214 */    MCD::OPC_CheckPredicate, 1, 72, 9, 0, // Skip to: 5595
765/* 3219 */    MCD::OPC_CheckField, 3, 2, 0, 65, 9, 0, // Skip to: 5595
766/* 3226 */    MCD::OPC_Decode, 171, 3, 42, // Opcode: FCMP_CULE_S
767/* 3230 */    MCD::OPC_FilterValue, 7, 56, 9, 0, // Skip to: 5595
768/* 3235 */    MCD::OPC_CheckPredicate, 1, 51, 9, 0, // Skip to: 5595
769/* 3240 */    MCD::OPC_CheckField, 3, 2, 0, 44, 9, 0, // Skip to: 5595
770/* 3247 */    MCD::OPC_Decode, 193, 3, 42, // Opcode: FCMP_SULE_S
771/* 3251 */    MCD::OPC_FilterValue, 6, 87, 0, 0, // Skip to: 3343
772/* 3256 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
773/* 3259 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 3280
774/* 3264 */    MCD::OPC_CheckPredicate, 1, 22, 9, 0, // Skip to: 5595
775/* 3269 */    MCD::OPC_CheckField, 3, 2, 0, 15, 9, 0, // Skip to: 5595
776/* 3276 */    MCD::OPC_Decode, 165, 3, 42, // Opcode: FCMP_CNE_S
777/* 3280 */    MCD::OPC_FilterValue, 1, 16, 0, 0, // Skip to: 3301
778/* 3285 */    MCD::OPC_CheckPredicate, 1, 1, 9, 0, // Skip to: 5595
779/* 3290 */    MCD::OPC_CheckField, 3, 2, 0, 250, 8, 0, // Skip to: 5595
780/* 3297 */    MCD::OPC_Decode, 187, 3, 42, // Opcode: FCMP_SNE_S
781/* 3301 */    MCD::OPC_FilterValue, 4, 16, 0, 0, // Skip to: 3322
782/* 3306 */    MCD::OPC_CheckPredicate, 1, 236, 8, 0, // Skip to: 5595
783/* 3311 */    MCD::OPC_CheckField, 3, 2, 0, 229, 8, 0, // Skip to: 5595
784/* 3318 */    MCD::OPC_Decode, 167, 3, 42, // Opcode: FCMP_COR_S
785/* 3322 */    MCD::OPC_FilterValue, 5, 220, 8, 0, // Skip to: 5595
786/* 3327 */    MCD::OPC_CheckPredicate, 1, 215, 8, 0, // Skip to: 5595
787/* 3332 */    MCD::OPC_CheckField, 3, 2, 0, 208, 8, 0, // Skip to: 5595
788/* 3339 */    MCD::OPC_Decode, 189, 3, 42, // Opcode: FCMP_SOR_S
789/* 3343 */    MCD::OPC_FilterValue, 7, 45, 0, 0, // Skip to: 3393
790/* 3348 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
791/* 3351 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 3372
792/* 3356 */    MCD::OPC_CheckPredicate, 1, 186, 8, 0, // Skip to: 5595
793/* 3361 */    MCD::OPC_CheckField, 3, 2, 0, 179, 8, 0, // Skip to: 5595
794/* 3368 */    MCD::OPC_Decode, 175, 3, 42, // Opcode: FCMP_CUNE_S
795/* 3372 */    MCD::OPC_FilterValue, 1, 170, 8, 0, // Skip to: 5595
796/* 3377 */    MCD::OPC_CheckPredicate, 1, 165, 8, 0, // Skip to: 5595
797/* 3382 */    MCD::OPC_CheckField, 3, 2, 0, 158, 8, 0, // Skip to: 5595
798/* 3389 */    MCD::OPC_Decode, 197, 3, 42, // Opcode: FCMP_SUNE_S
799/* 3393 */    MCD::OPC_FilterValue, 8, 171, 0, 0, // Skip to: 3569
800/* 3398 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
801/* 3401 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 3422
802/* 3406 */    MCD::OPC_CheckPredicate, 2, 136, 8, 0, // Skip to: 5595
803/* 3411 */    MCD::OPC_CheckField, 3, 2, 0, 129, 8, 0, // Skip to: 5595
804/* 3418 */    MCD::OPC_Decode, 156, 3, 43, // Opcode: FCMP_CAF_D
805/* 3422 */    MCD::OPC_FilterValue, 1, 16, 0, 0, // Skip to: 3443
806/* 3427 */    MCD::OPC_CheckPredicate, 2, 115, 8, 0, // Skip to: 5595
807/* 3432 */    MCD::OPC_CheckField, 3, 2, 0, 108, 8, 0, // Skip to: 5595
808/* 3439 */    MCD::OPC_Decode, 178, 3, 43, // Opcode: FCMP_SAF_D
809/* 3443 */    MCD::OPC_FilterValue, 2, 16, 0, 0, // Skip to: 3464
810/* 3448 */    MCD::OPC_CheckPredicate, 2, 94, 8, 0, // Skip to: 5595
811/* 3453 */    MCD::OPC_CheckField, 3, 2, 0, 87, 8, 0, // Skip to: 5595
812/* 3460 */    MCD::OPC_Decode, 162, 3, 43, // Opcode: FCMP_CLT_D
813/* 3464 */    MCD::OPC_FilterValue, 3, 16, 0, 0, // Skip to: 3485
814/* 3469 */    MCD::OPC_CheckPredicate, 2, 73, 8, 0, // Skip to: 5595
815/* 3474 */    MCD::OPC_CheckField, 3, 2, 0, 66, 8, 0, // Skip to: 5595
816/* 3481 */    MCD::OPC_Decode, 184, 3, 43, // Opcode: FCMP_SLT_D
817/* 3485 */    MCD::OPC_FilterValue, 4, 16, 0, 0, // Skip to: 3506
818/* 3490 */    MCD::OPC_CheckPredicate, 2, 52, 8, 0, // Skip to: 5595
819/* 3495 */    MCD::OPC_CheckField, 3, 2, 0, 45, 8, 0, // Skip to: 5595
820/* 3502 */    MCD::OPC_Decode, 158, 3, 43, // Opcode: FCMP_CEQ_D
821/* 3506 */    MCD::OPC_FilterValue, 5, 16, 0, 0, // Skip to: 3527
822/* 3511 */    MCD::OPC_CheckPredicate, 2, 31, 8, 0, // Skip to: 5595
823/* 3516 */    MCD::OPC_CheckField, 3, 2, 0, 24, 8, 0, // Skip to: 5595
824/* 3523 */    MCD::OPC_Decode, 180, 3, 43, // Opcode: FCMP_SEQ_D
825/* 3527 */    MCD::OPC_FilterValue, 6, 16, 0, 0, // Skip to: 3548
826/* 3532 */    MCD::OPC_CheckPredicate, 2, 10, 8, 0, // Skip to: 5595
827/* 3537 */    MCD::OPC_CheckField, 3, 2, 0, 3, 8, 0, // Skip to: 5595
828/* 3544 */    MCD::OPC_Decode, 160, 3, 43, // Opcode: FCMP_CLE_D
829/* 3548 */    MCD::OPC_FilterValue, 7, 250, 7, 0, // Skip to: 5595
830/* 3553 */    MCD::OPC_CheckPredicate, 2, 245, 7, 0, // Skip to: 5595
831/* 3558 */    MCD::OPC_CheckField, 3, 2, 0, 238, 7, 0, // Skip to: 5595
832/* 3565 */    MCD::OPC_Decode, 182, 3, 43, // Opcode: FCMP_SLE_D
833/* 3569 */    MCD::OPC_FilterValue, 9, 171, 0, 0, // Skip to: 3745
834/* 3574 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
835/* 3577 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 3598
836/* 3582 */    MCD::OPC_CheckPredicate, 2, 216, 7, 0, // Skip to: 5595
837/* 3587 */    MCD::OPC_CheckField, 3, 2, 0, 209, 7, 0, // Skip to: 5595
838/* 3594 */    MCD::OPC_Decode, 176, 3, 43, // Opcode: FCMP_CUN_D
839/* 3598 */    MCD::OPC_FilterValue, 1, 16, 0, 0, // Skip to: 3619
840/* 3603 */    MCD::OPC_CheckPredicate, 2, 195, 7, 0, // Skip to: 5595
841/* 3608 */    MCD::OPC_CheckField, 3, 2, 0, 188, 7, 0, // Skip to: 5595
842/* 3615 */    MCD::OPC_Decode, 198, 3, 43, // Opcode: FCMP_SUN_D
843/* 3619 */    MCD::OPC_FilterValue, 2, 16, 0, 0, // Skip to: 3640
844/* 3624 */    MCD::OPC_CheckPredicate, 2, 174, 7, 0, // Skip to: 5595
845/* 3629 */    MCD::OPC_CheckField, 3, 2, 0, 167, 7, 0, // Skip to: 5595
846/* 3636 */    MCD::OPC_Decode, 172, 3, 43, // Opcode: FCMP_CULT_D
847/* 3640 */    MCD::OPC_FilterValue, 3, 16, 0, 0, // Skip to: 3661
848/* 3645 */    MCD::OPC_CheckPredicate, 2, 153, 7, 0, // Skip to: 5595
849/* 3650 */    MCD::OPC_CheckField, 3, 2, 0, 146, 7, 0, // Skip to: 5595
850/* 3657 */    MCD::OPC_Decode, 194, 3, 43, // Opcode: FCMP_SULT_D
851/* 3661 */    MCD::OPC_FilterValue, 4, 16, 0, 0, // Skip to: 3682
852/* 3666 */    MCD::OPC_CheckPredicate, 2, 132, 7, 0, // Skip to: 5595
853/* 3671 */    MCD::OPC_CheckField, 3, 2, 0, 125, 7, 0, // Skip to: 5595
854/* 3678 */    MCD::OPC_Decode, 168, 3, 43, // Opcode: FCMP_CUEQ_D
855/* 3682 */    MCD::OPC_FilterValue, 5, 16, 0, 0, // Skip to: 3703
856/* 3687 */    MCD::OPC_CheckPredicate, 2, 111, 7, 0, // Skip to: 5595
857/* 3692 */    MCD::OPC_CheckField, 3, 2, 0, 104, 7, 0, // Skip to: 5595
858/* 3699 */    MCD::OPC_Decode, 190, 3, 43, // Opcode: FCMP_SUEQ_D
859/* 3703 */    MCD::OPC_FilterValue, 6, 16, 0, 0, // Skip to: 3724
860/* 3708 */    MCD::OPC_CheckPredicate, 2, 90, 7, 0, // Skip to: 5595
861/* 3713 */    MCD::OPC_CheckField, 3, 2, 0, 83, 7, 0, // Skip to: 5595
862/* 3720 */    MCD::OPC_Decode, 170, 3, 43, // Opcode: FCMP_CULE_D
863/* 3724 */    MCD::OPC_FilterValue, 7, 74, 7, 0, // Skip to: 5595
864/* 3729 */    MCD::OPC_CheckPredicate, 2, 69, 7, 0, // Skip to: 5595
865/* 3734 */    MCD::OPC_CheckField, 3, 2, 0, 62, 7, 0, // Skip to: 5595
866/* 3741 */    MCD::OPC_Decode, 192, 3, 43, // Opcode: FCMP_SULE_D
867/* 3745 */    MCD::OPC_FilterValue, 10, 87, 0, 0, // Skip to: 3837
868/* 3750 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
869/* 3753 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 3774
870/* 3758 */    MCD::OPC_CheckPredicate, 2, 40, 7, 0, // Skip to: 5595
871/* 3763 */    MCD::OPC_CheckField, 3, 2, 0, 33, 7, 0, // Skip to: 5595
872/* 3770 */    MCD::OPC_Decode, 164, 3, 43, // Opcode: FCMP_CNE_D
873/* 3774 */    MCD::OPC_FilterValue, 1, 16, 0, 0, // Skip to: 3795
874/* 3779 */    MCD::OPC_CheckPredicate, 2, 19, 7, 0, // Skip to: 5595
875/* 3784 */    MCD::OPC_CheckField, 3, 2, 0, 12, 7, 0, // Skip to: 5595
876/* 3791 */    MCD::OPC_Decode, 186, 3, 43, // Opcode: FCMP_SNE_D
877/* 3795 */    MCD::OPC_FilterValue, 4, 16, 0, 0, // Skip to: 3816
878/* 3800 */    MCD::OPC_CheckPredicate, 2, 254, 6, 0, // Skip to: 5595
879/* 3805 */    MCD::OPC_CheckField, 3, 2, 0, 247, 6, 0, // Skip to: 5595
880/* 3812 */    MCD::OPC_Decode, 166, 3, 43, // Opcode: FCMP_COR_D
881/* 3816 */    MCD::OPC_FilterValue, 5, 238, 6, 0, // Skip to: 5595
882/* 3821 */    MCD::OPC_CheckPredicate, 2, 233, 6, 0, // Skip to: 5595
883/* 3826 */    MCD::OPC_CheckField, 3, 2, 0, 226, 6, 0, // Skip to: 5595
884/* 3833 */    MCD::OPC_Decode, 188, 3, 43, // Opcode: FCMP_SOR_D
885/* 3837 */    MCD::OPC_FilterValue, 11, 45, 0, 0, // Skip to: 3887
886/* 3842 */    MCD::OPC_ExtractField, 15, 3,  // Inst{17-15} ...
887/* 3845 */    MCD::OPC_FilterValue, 0, 16, 0, 0, // Skip to: 3866
888/* 3850 */    MCD::OPC_CheckPredicate, 2, 204, 6, 0, // Skip to: 5595
889/* 3855 */    MCD::OPC_CheckField, 3, 2, 0, 197, 6, 0, // Skip to: 5595
890/* 3862 */    MCD::OPC_Decode, 174, 3, 43, // Opcode: FCMP_CUNE_D
891/* 3866 */    MCD::OPC_FilterValue, 1, 188, 6, 0, // Skip to: 5595
892/* 3871 */    MCD::OPC_CheckPredicate, 2, 183, 6, 0, // Skip to: 5595
893/* 3876 */    MCD::OPC_CheckField, 3, 2, 0, 176, 6, 0, // Skip to: 5595
894/* 3883 */    MCD::OPC_Decode, 196, 3, 43, // Opcode: FCMP_SUNE_D
895/* 3887 */    MCD::OPC_FilterValue, 64, 167, 6, 0, // Skip to: 5595
896/* 3892 */    MCD::OPC_CheckPredicate, 1, 162, 6, 0, // Skip to: 5595
897/* 3897 */    MCD::OPC_Decode, 251, 3, 44, // Opcode: FSEL_S
898/* 3901 */    MCD::OPC_FilterValue, 4, 9, 0, 0, // Skip to: 3915
899/* 3906 */    MCD::OPC_CheckPredicate, 0, 148, 6, 0, // Skip to: 5595
900/* 3911 */    MCD::OPC_Decode, 178, 2, 45, // Opcode: ADDU16I_D
901/* 3915 */    MCD::OPC_FilterValue, 5, 26, 0, 0, // Skip to: 3946
902/* 3920 */    MCD::OPC_ExtractField, 25, 1,  // Inst{25} ...
903/* 3923 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 3932
904/* 3928 */    MCD::OPC_Decode, 196, 4, 46, // Opcode: LU12I_W
905/* 3932 */    MCD::OPC_FilterValue, 1, 122, 6, 0, // Skip to: 5595
906/* 3937 */    MCD::OPC_CheckPredicate, 0, 117, 6, 0, // Skip to: 5595
907/* 3942 */    MCD::OPC_Decode, 197, 4, 47, // Opcode: LU32I_D
908/* 3946 */    MCD::OPC_FilterValue, 6, 21, 0, 0, // Skip to: 3972
909/* 3951 */    MCD::OPC_ExtractField, 25, 1,  // Inst{25} ...
910/* 3954 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 3963
911/* 3959 */    MCD::OPC_Decode, 231, 4, 46, // Opcode: PCADDI
912/* 3963 */    MCD::OPC_FilterValue, 1, 91, 6, 0, // Skip to: 5595
913/* 3968 */    MCD::OPC_Decode, 234, 4, 46, // Opcode: PCALAU12I
914/* 3972 */    MCD::OPC_FilterValue, 7, 26, 0, 0, // Skip to: 4003
915/* 3977 */    MCD::OPC_ExtractField, 25, 1,  // Inst{25} ...
916/* 3980 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 3989
917/* 3985 */    MCD::OPC_Decode, 232, 4, 46, // Opcode: PCADDU12I
918/* 3989 */    MCD::OPC_FilterValue, 1, 65, 6, 0, // Skip to: 5595
919/* 3994 */    MCD::OPC_CheckPredicate, 0, 60, 6, 0, // Skip to: 5595
920/* 3999 */    MCD::OPC_Decode, 233, 4, 46, // Opcode: PCADDU18I
921/* 4003 */    MCD::OPC_FilterValue, 8, 49, 0, 0, // Skip to: 4057
922/* 4008 */    MCD::OPC_ExtractField, 24, 2,  // Inst{25-24} ...
923/* 4011 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 4020
924/* 4016 */    MCD::OPC_Decode, 195, 4, 48, // Opcode: LL_W
925/* 4020 */    MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 4029
926/* 4025 */    MCD::OPC_Decode, 251, 4, 49, // Opcode: SC_W
927/* 4029 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 4043
928/* 4034 */    MCD::OPC_CheckPredicate, 0, 20, 6, 0, // Skip to: 5595
929/* 4039 */    MCD::OPC_Decode, 194, 4, 48, // Opcode: LL_D
930/* 4043 */    MCD::OPC_FilterValue, 3, 11, 6, 0, // Skip to: 5595
931/* 4048 */    MCD::OPC_CheckPredicate, 0, 6, 6, 0, // Skip to: 5595
932/* 4053 */    MCD::OPC_Decode, 250, 4, 49, // Opcode: SC_D
933/* 4057 */    MCD::OPC_FilterValue, 9, 59, 0, 0, // Skip to: 4121
934/* 4062 */    MCD::OPC_ExtractField, 24, 2,  // Inst{25-24} ...
935/* 4065 */    MCD::OPC_FilterValue, 0, 9, 0, 0, // Skip to: 4079
936/* 4070 */    MCD::OPC_CheckPredicate, 0, 240, 5, 0, // Skip to: 5595
937/* 4075 */    MCD::OPC_Decode, 179, 4, 48, // Opcode: LDPTR_W
938/* 4079 */    MCD::OPC_FilterValue, 1, 9, 0, 0, // Skip to: 4093
939/* 4084 */    MCD::OPC_CheckPredicate, 0, 226, 5, 0, // Skip to: 5595
940/* 4089 */    MCD::OPC_Decode, 149, 5, 48, // Opcode: STPTR_W
941/* 4093 */    MCD::OPC_FilterValue, 2, 9, 0, 0, // Skip to: 4107
942/* 4098 */    MCD::OPC_CheckPredicate, 0, 212, 5, 0, // Skip to: 5595
943/* 4103 */    MCD::OPC_Decode, 178, 4, 48, // Opcode: LDPTR_D
944/* 4107 */    MCD::OPC_FilterValue, 3, 203, 5, 0, // Skip to: 5595
945/* 4112 */    MCD::OPC_CheckPredicate, 0, 198, 5, 0, // Skip to: 5595
946/* 4117 */    MCD::OPC_Decode, 148, 5, 48, // Opcode: STPTR_D
947/* 4121 */    MCD::OPC_FilterValue, 10, 182, 0, 0, // Skip to: 4308
948/* 4126 */    MCD::OPC_ExtractField, 22, 4,  // Inst{25-22} ...
949/* 4129 */    MCD::OPC_FilterValue, 0, 4, 0, 0, // Skip to: 4138
950/* 4134 */    MCD::OPC_Decode, 187, 4, 30, // Opcode: LD_B
951/* 4138 */    MCD::OPC_FilterValue, 1, 4, 0, 0, // Skip to: 4147
952/* 4143 */    MCD::OPC_Decode, 190, 4, 30, // Opcode: LD_H
953/* 4147 */    MCD::OPC_FilterValue, 2, 4, 0, 0, // Skip to: 4156
954/* 4152 */    MCD::OPC_Decode, 192, 4, 30, // Opcode: LD_W
955/* 4156 */    MCD::OPC_FilterValue, 3, 9, 0, 0, // Skip to: 4170
956/* 4161 */    MCD::OPC_CheckPredicate, 0, 149, 5, 0, // Skip to: 5595
957/* 4166 */    MCD::OPC_Decode, 189, 4, 30, // Opcode: LD_D
958/* 4170 */    MCD::OPC_FilterValue, 4, 4, 0, 0, // Skip to: 4179
959/* 4175 */    MCD::OPC_Decode, 154, 5, 30, // Opcode: ST_B
960/* 4179 */    MCD::OPC_FilterValue, 5, 4, 0, 0, // Skip to: 4188
961/* 4184 */    MCD::OPC_Decode, 156, 5, 30, // Opcode: ST_H
962/* 4188 */    MCD::OPC_FilterValue, 6, 4, 0, 0, // Skip to: 4197
963/* 4193 */    MCD::OPC_Decode, 157, 5, 30, // Opcode: ST_W
964/* 4197 */    MCD::OPC_FilterValue, 7, 9, 0, 0, // Skip to: 4211
965/* 4202 */    MCD::OPC_CheckPredicate, 0, 108, 5, 0, // Skip to: 5595
966/* 4207 */    MCD::OPC_Decode, 155, 5, 30, // Opcode: ST_D
967/* 4211 */    MCD::OPC_FilterValue, 8, 4, 0, 0, // Skip to: 4220
968/* 4216 */    MCD::OPC_Decode, 188, 4, 30, // Opcode: LD_BU
969/* 4220 */    MCD::OPC_FilterValue, 9, 4, 0, 0, // Skip to: 4229
970/* 4225 */    MCD::OPC_Decode, 191, 4, 30, // Opcode: LD_HU
971/* 4229 */    MCD::OPC_FilterValue, 10, 9, 0, 0, // Skip to: 4243
972/* 4234 */    MCD::OPC_CheckPredicate, 0, 76, 5, 0, // Skip to: 5595
973/* 4239 */    MCD::OPC_Decode, 193, 4, 30, // Opcode: LD_WU
974/* 4243 */    MCD::OPC_FilterValue, 11, 4, 0, 0, // Skip to: 4252
975/* 4248 */    MCD::OPC_Decode, 235, 4, 35, // Opcode: PRELD
976/* 4252 */    MCD::OPC_FilterValue, 12, 9, 0, 0, // Skip to: 4266
977/* 4257 */    MCD::OPC_CheckPredicate, 1, 53, 5, 0, // Skip to: 5595
978/* 4262 */    MCD::OPC_Decode, 217, 3, 50, // Opcode: FLD_S
979/* 4266 */    MCD::OPC_FilterValue, 13, 9, 0, 0, // Skip to: 4280
980/* 4271 */    MCD::OPC_CheckPredicate, 1, 39, 5, 0, // Skip to: 5595
981/* 4276 */    MCD::OPC_Decode, 133, 4, 50, // Opcode: FST_S
982/* 4280 */    MCD::OPC_FilterValue, 14, 9, 0, 0, // Skip to: 4294
983/* 4285 */    MCD::OPC_CheckPredicate, 2, 25, 5, 0, // Skip to: 5595
984/* 4290 */    MCD::OPC_Decode, 216, 3, 51, // Opcode: FLD_D
985/* 4294 */    MCD::OPC_FilterValue, 15, 16, 5, 0, // Skip to: 5595
986/* 4299 */    MCD::OPC_CheckPredicate, 2, 11, 5, 0, // Skip to: 5595
987/* 4304 */    MCD::OPC_Decode, 132, 4, 51, // Opcode: FST_D
988/* 4308 */    MCD::OPC_FilterValue, 14, 123, 4, 0, // Skip to: 5460
989/* 4313 */    MCD::OPC_ExtractField, 15, 11,  // Inst{25-15} ...
990/* 4316 */    MCD::OPC_FilterValue, 0, 9, 0, 0, // Skip to: 4330
991/* 4321 */    MCD::OPC_CheckPredicate, 0, 245, 4, 0, // Skip to: 5595
992/* 4326 */    MCD::OPC_Decode, 180, 4, 5, // Opcode: LDX_B
993/* 4330 */    MCD::OPC_FilterValue, 8, 9, 0, 0, // Skip to: 4344
994/* 4335 */    MCD::OPC_CheckPredicate, 0, 231, 4, 0, // Skip to: 5595
995/* 4340 */    MCD::OPC_Decode, 183, 4, 5, // Opcode: LDX_H
996/* 4344 */    MCD::OPC_FilterValue, 16, 9, 0, 0, // Skip to: 4358
997/* 4349 */    MCD::OPC_CheckPredicate, 0, 217, 4, 0, // Skip to: 5595
998/* 4354 */    MCD::OPC_Decode, 185, 4, 5, // Opcode: LDX_W
999/* 4358 */    MCD::OPC_FilterValue, 24, 9, 0, 0, // Skip to: 4372
1000/* 4363 */    MCD::OPC_CheckPredicate, 0, 203, 4, 0, // Skip to: 5595
1001/* 4368 */    MCD::OPC_Decode, 182, 4, 5, // Opcode: LDX_D
1002/* 4372 */    MCD::OPC_FilterValue, 32, 9, 0, 0, // Skip to: 4386
1003/* 4377 */    MCD::OPC_CheckPredicate, 0, 189, 4, 0, // Skip to: 5595
1004/* 4382 */    MCD::OPC_Decode, 150, 5, 5, // Opcode: STX_B
1005/* 4386 */    MCD::OPC_FilterValue, 40, 9, 0, 0, // Skip to: 4400
1006/* 4391 */    MCD::OPC_CheckPredicate, 0, 175, 4, 0, // Skip to: 5595
1007/* 4396 */    MCD::OPC_Decode, 152, 5, 5, // Opcode: STX_H
1008/* 4400 */    MCD::OPC_FilterValue, 48, 9, 0, 0, // Skip to: 4414
1009/* 4405 */    MCD::OPC_CheckPredicate, 0, 161, 4, 0, // Skip to: 5595
1010/* 4410 */    MCD::OPC_Decode, 153, 5, 5, // Opcode: STX_W
1011/* 4414 */    MCD::OPC_FilterValue, 56, 9, 0, 0, // Skip to: 4428
1012/* 4419 */    MCD::OPC_CheckPredicate, 0, 147, 4, 0, // Skip to: 5595
1013/* 4424 */    MCD::OPC_Decode, 151, 5, 5, // Opcode: STX_D
1014/* 4428 */    MCD::OPC_FilterValue, 64, 9, 0, 0, // Skip to: 4442
1015/* 4433 */    MCD::OPC_CheckPredicate, 0, 133, 4, 0, // Skip to: 5595
1016/* 4438 */    MCD::OPC_Decode, 181, 4, 5, // Opcode: LDX_BU
1017/* 4442 */    MCD::OPC_FilterValue, 72, 9, 0, 0, // Skip to: 4456
1018/* 4447 */    MCD::OPC_CheckPredicate, 0, 119, 4, 0, // Skip to: 5595
1019/* 4452 */    MCD::OPC_Decode, 184, 4, 5, // Opcode: LDX_HU
1020/* 4456 */    MCD::OPC_FilterValue, 80, 9, 0, 0, // Skip to: 4470
1021/* 4461 */    MCD::OPC_CheckPredicate, 0, 105, 4, 0, // Skip to: 5595
1022/* 4466 */    MCD::OPC_Decode, 186, 4, 5, // Opcode: LDX_WU
1023/* 4470 */    MCD::OPC_FilterValue, 88, 9, 0, 0, // Skip to: 4484
1024/* 4475 */    MCD::OPC_CheckPredicate, 0, 91, 4, 0, // Skip to: 5595
1025/* 4480 */    MCD::OPC_Decode, 236, 4, 52, // Opcode: PRELDX
1026/* 4484 */    MCD::OPC_FilterValue, 96, 9, 0, 0, // Skip to: 4498
1027/* 4489 */    MCD::OPC_CheckPredicate, 1, 77, 4, 0, // Skip to: 5595
1028/* 4494 */    MCD::OPC_Decode, 215, 3, 53, // Opcode: FLDX_S
1029/* 4498 */    MCD::OPC_FilterValue, 104, 9, 0, 0, // Skip to: 4512
1030/* 4503 */    MCD::OPC_CheckPredicate, 2, 63, 4, 0, // Skip to: 5595
1031/* 4508 */    MCD::OPC_Decode, 214, 3, 54, // Opcode: FLDX_D
1032/* 4512 */    MCD::OPC_FilterValue, 112, 9, 0, 0, // Skip to: 4526
1033/* 4517 */    MCD::OPC_CheckPredicate, 1, 49, 4, 0, // Skip to: 5595
1034/* 4522 */    MCD::OPC_Decode, 131, 4, 53, // Opcode: FSTX_S
1035/* 4526 */    MCD::OPC_FilterValue, 120, 9, 0, 0, // Skip to: 4540
1036/* 4531 */    MCD::OPC_CheckPredicate, 2, 35, 4, 0, // Skip to: 5595
1037/* 4536 */    MCD::OPC_Decode, 130, 4, 54, // Opcode: FSTX_D
1038/* 4540 */    MCD::OPC_FilterValue, 192, 1, 9, 0, 0, // Skip to: 4555
1039/* 4546 */    MCD::OPC_CheckPredicate, 0, 20, 4, 0, // Skip to: 5595
1040/* 4551 */    MCD::OPC_Decode, 215, 2, 55, // Opcode: AMSWAP_W
1041/* 4555 */    MCD::OPC_FilterValue, 193, 1, 9, 0, 0, // Skip to: 4570
1042/* 4561 */    MCD::OPC_CheckPredicate, 0, 5, 4, 0, // Skip to: 5595
1043/* 4566 */    MCD::OPC_Decode, 212, 2, 55, // Opcode: AMSWAP_D
1044/* 4570 */    MCD::OPC_FilterValue, 194, 1, 9, 0, 0, // Skip to: 4585
1045/* 4576 */    MCD::OPC_CheckPredicate, 0, 246, 3, 0, // Skip to: 5595
1046/* 4581 */    MCD::OPC_Decode, 187, 2, 55, // Opcode: AMADD_W
1047/* 4585 */    MCD::OPC_FilterValue, 195, 1, 9, 0, 0, // Skip to: 4600
1048/* 4591 */    MCD::OPC_CheckPredicate, 0, 231, 3, 0, // Skip to: 5595
1049/* 4596 */    MCD::OPC_Decode, 184, 2, 55, // Opcode: AMADD_D
1050/* 4600 */    MCD::OPC_FilterValue, 196, 1, 9, 0, 0, // Skip to: 4615
1051/* 4606 */    MCD::OPC_CheckPredicate, 0, 216, 3, 0, // Skip to: 5595
1052/* 4611 */    MCD::OPC_Decode, 191, 2, 55, // Opcode: AMAND_W
1053/* 4615 */    MCD::OPC_FilterValue, 197, 1, 9, 0, 0, // Skip to: 4630
1054/* 4621 */    MCD::OPC_CheckPredicate, 0, 201, 3, 0, // Skip to: 5595
1055/* 4626 */    MCD::OPC_Decode, 188, 2, 55, // Opcode: AMAND_D
1056/* 4630 */    MCD::OPC_FilterValue, 198, 1, 9, 0, 0, // Skip to: 4645
1057/* 4636 */    MCD::OPC_CheckPredicate, 0, 186, 3, 0, // Skip to: 5595
1058/* 4641 */    MCD::OPC_Decode, 211, 2, 55, // Opcode: AMOR_W
1059/* 4645 */    MCD::OPC_FilterValue, 199, 1, 9, 0, 0, // Skip to: 4660
1060/* 4651 */    MCD::OPC_CheckPredicate, 0, 171, 3, 0, // Skip to: 5595
1061/* 4656 */    MCD::OPC_Decode, 208, 2, 55, // Opcode: AMOR_D
1062/* 4660 */    MCD::OPC_FilterValue, 200, 1, 9, 0, 0, // Skip to: 4675
1063/* 4666 */    MCD::OPC_CheckPredicate, 0, 156, 3, 0, // Skip to: 5595
1064/* 4671 */    MCD::OPC_Decode, 219, 2, 55, // Opcode: AMXOR_W
1065/* 4675 */    MCD::OPC_FilterValue, 201, 1, 9, 0, 0, // Skip to: 4690
1066/* 4681 */    MCD::OPC_CheckPredicate, 0, 141, 3, 0, // Skip to: 5595
1067/* 4686 */    MCD::OPC_Decode, 216, 2, 55, // Opcode: AMXOR_D
1068/* 4690 */    MCD::OPC_FilterValue, 202, 1, 9, 0, 0, // Skip to: 4705
1069/* 4696 */    MCD::OPC_CheckPredicate, 0, 126, 3, 0, // Skip to: 5595
1070/* 4701 */    MCD::OPC_Decode, 198, 2, 55, // Opcode: AMMAX_W
1071/* 4705 */    MCD::OPC_FilterValue, 203, 1, 9, 0, 0, // Skip to: 4720
1072/* 4711 */    MCD::OPC_CheckPredicate, 0, 111, 3, 0, // Skip to: 5595
1073/* 4716 */    MCD::OPC_Decode, 192, 2, 55, // Opcode: AMMAX_D
1074/* 4720 */    MCD::OPC_FilterValue, 204, 1, 9, 0, 0, // Skip to: 4735
1075/* 4726 */    MCD::OPC_CheckPredicate, 0, 96, 3, 0, // Skip to: 5595
1076/* 4731 */    MCD::OPC_Decode, 206, 2, 55, // Opcode: AMMIN_W
1077/* 4735 */    MCD::OPC_FilterValue, 205, 1, 9, 0, 0, // Skip to: 4750
1078/* 4741 */    MCD::OPC_CheckPredicate, 0, 81, 3, 0, // Skip to: 5595
1079/* 4746 */    MCD::OPC_Decode, 200, 2, 55, // Opcode: AMMIN_D
1080/* 4750 */    MCD::OPC_FilterValue, 206, 1, 9, 0, 0, // Skip to: 4765
1081/* 4756 */    MCD::OPC_CheckPredicate, 0, 66, 3, 0, // Skip to: 5595
1082/* 4761 */    MCD::OPC_Decode, 199, 2, 55, // Opcode: AMMAX_WU
1083/* 4765 */    MCD::OPC_FilterValue, 207, 1, 9, 0, 0, // Skip to: 4780
1084/* 4771 */    MCD::OPC_CheckPredicate, 0, 51, 3, 0, // Skip to: 5595
1085/* 4776 */    MCD::OPC_Decode, 197, 2, 55, // Opcode: AMMAX_DU
1086/* 4780 */    MCD::OPC_FilterValue, 208, 1, 9, 0, 0, // Skip to: 4795
1087/* 4786 */    MCD::OPC_CheckPredicate, 0, 36, 3, 0, // Skip to: 5595
1088/* 4791 */    MCD::OPC_Decode, 207, 2, 55, // Opcode: AMMIN_WU
1089/* 4795 */    MCD::OPC_FilterValue, 209, 1, 9, 0, 0, // Skip to: 4810
1090/* 4801 */    MCD::OPC_CheckPredicate, 0, 21, 3, 0, // Skip to: 5595
1091/* 4806 */    MCD::OPC_Decode, 205, 2, 55, // Opcode: AMMIN_DU
1092/* 4810 */    MCD::OPC_FilterValue, 210, 1, 9, 0, 0, // Skip to: 4825
1093/* 4816 */    MCD::OPC_CheckPredicate, 0, 6, 3, 0, // Skip to: 5595
1094/* 4821 */    MCD::OPC_Decode, 214, 2, 55, // Opcode: AMSWAP_DB_W
1095/* 4825 */    MCD::OPC_FilterValue, 211, 1, 9, 0, 0, // Skip to: 4840
1096/* 4831 */    MCD::OPC_CheckPredicate, 0, 247, 2, 0, // Skip to: 5595
1097/* 4836 */    MCD::OPC_Decode, 213, 2, 55, // Opcode: AMSWAP_DB_D
1098/* 4840 */    MCD::OPC_FilterValue, 212, 1, 9, 0, 0, // Skip to: 4855
1099/* 4846 */    MCD::OPC_CheckPredicate, 0, 232, 2, 0, // Skip to: 5595
1100/* 4851 */    MCD::OPC_Decode, 186, 2, 55, // Opcode: AMADD_DB_W
1101/* 4855 */    MCD::OPC_FilterValue, 213, 1, 9, 0, 0, // Skip to: 4870
1102/* 4861 */    MCD::OPC_CheckPredicate, 0, 217, 2, 0, // Skip to: 5595
1103/* 4866 */    MCD::OPC_Decode, 185, 2, 55, // Opcode: AMADD_DB_D
1104/* 4870 */    MCD::OPC_FilterValue, 214, 1, 9, 0, 0, // Skip to: 4885
1105/* 4876 */    MCD::OPC_CheckPredicate, 0, 202, 2, 0, // Skip to: 5595
1106/* 4881 */    MCD::OPC_Decode, 190, 2, 55, // Opcode: AMAND_DB_W
1107/* 4885 */    MCD::OPC_FilterValue, 215, 1, 9, 0, 0, // Skip to: 4900
1108/* 4891 */    MCD::OPC_CheckPredicate, 0, 187, 2, 0, // Skip to: 5595
1109/* 4896 */    MCD::OPC_Decode, 189, 2, 55, // Opcode: AMAND_DB_D
1110/* 4900 */    MCD::OPC_FilterValue, 216, 1, 9, 0, 0, // Skip to: 4915
1111/* 4906 */    MCD::OPC_CheckPredicate, 0, 172, 2, 0, // Skip to: 5595
1112/* 4911 */    MCD::OPC_Decode, 210, 2, 55, // Opcode: AMOR_DB_W
1113/* 4915 */    MCD::OPC_FilterValue, 217, 1, 9, 0, 0, // Skip to: 4930
1114/* 4921 */    MCD::OPC_CheckPredicate, 0, 157, 2, 0, // Skip to: 5595
1115/* 4926 */    MCD::OPC_Decode, 209, 2, 55, // Opcode: AMOR_DB_D
1116/* 4930 */    MCD::OPC_FilterValue, 218, 1, 9, 0, 0, // Skip to: 4945
1117/* 4936 */    MCD::OPC_CheckPredicate, 0, 142, 2, 0, // Skip to: 5595
1118/* 4941 */    MCD::OPC_Decode, 218, 2, 55, // Opcode: AMXOR_DB_W
1119/* 4945 */    MCD::OPC_FilterValue, 219, 1, 9, 0, 0, // Skip to: 4960
1120/* 4951 */    MCD::OPC_CheckPredicate, 0, 127, 2, 0, // Skip to: 5595
1121/* 4956 */    MCD::OPC_Decode, 217, 2, 55, // Opcode: AMXOR_DB_D
1122/* 4960 */    MCD::OPC_FilterValue, 220, 1, 9, 0, 0, // Skip to: 4975
1123/* 4966 */    MCD::OPC_CheckPredicate, 0, 112, 2, 0, // Skip to: 5595
1124/* 4971 */    MCD::OPC_Decode, 195, 2, 55, // Opcode: AMMAX_DB_W
1125/* 4975 */    MCD::OPC_FilterValue, 221, 1, 9, 0, 0, // Skip to: 4990
1126/* 4981 */    MCD::OPC_CheckPredicate, 0, 97, 2, 0, // Skip to: 5595
1127/* 4986 */    MCD::OPC_Decode, 193, 2, 55, // Opcode: AMMAX_DB_D
1128/* 4990 */    MCD::OPC_FilterValue, 222, 1, 9, 0, 0, // Skip to: 5005
1129/* 4996 */    MCD::OPC_CheckPredicate, 0, 82, 2, 0, // Skip to: 5595
1130/* 5001 */    MCD::OPC_Decode, 203, 2, 55, // Opcode: AMMIN_DB_W
1131/* 5005 */    MCD::OPC_FilterValue, 223, 1, 9, 0, 0, // Skip to: 5020
1132/* 5011 */    MCD::OPC_CheckPredicate, 0, 67, 2, 0, // Skip to: 5595
1133/* 5016 */    MCD::OPC_Decode, 201, 2, 55, // Opcode: AMMIN_DB_D
1134/* 5020 */    MCD::OPC_FilterValue, 224, 1, 9, 0, 0, // Skip to: 5035
1135/* 5026 */    MCD::OPC_CheckPredicate, 0, 52, 2, 0, // Skip to: 5595
1136/* 5031 */    MCD::OPC_Decode, 196, 2, 55, // Opcode: AMMAX_DB_WU
1137/* 5035 */    MCD::OPC_FilterValue, 225, 1, 9, 0, 0, // Skip to: 5050
1138/* 5041 */    MCD::OPC_CheckPredicate, 0, 37, 2, 0, // Skip to: 5595
1139/* 5046 */    MCD::OPC_Decode, 194, 2, 55, // Opcode: AMMAX_DB_DU
1140/* 5050 */    MCD::OPC_FilterValue, 226, 1, 9, 0, 0, // Skip to: 5065
1141/* 5056 */    MCD::OPC_CheckPredicate, 0, 22, 2, 0, // Skip to: 5595
1142/* 5061 */    MCD::OPC_Decode, 204, 2, 55, // Opcode: AMMIN_DB_WU
1143/* 5065 */    MCD::OPC_FilterValue, 227, 1, 9, 0, 0, // Skip to: 5080
1144/* 5071 */    MCD::OPC_CheckPredicate, 0, 7, 2, 0, // Skip to: 5595
1145/* 5076 */    MCD::OPC_Decode, 202, 2, 55, // Opcode: AMMIN_DB_DU
1146/* 5080 */    MCD::OPC_FilterValue, 228, 1, 4, 0, 0, // Skip to: 5090
1147/* 5086 */    MCD::OPC_Decode, 141, 3, 6, // Opcode: DBAR
1148/* 5090 */    MCD::OPC_FilterValue, 229, 1, 4, 0, 0, // Skip to: 5100
1149/* 5096 */    MCD::OPC_Decode, 156, 4, 6, // Opcode: IBAR
1150/* 5100 */    MCD::OPC_FilterValue, 232, 1, 9, 0, 0, // Skip to: 5115
1151/* 5106 */    MCD::OPC_CheckPredicate, 1, 228, 1, 0, // Skip to: 5595
1152/* 5111 */    MCD::OPC_Decode, 211, 3, 53, // Opcode: FLDGT_S
1153/* 5115 */    MCD::OPC_FilterValue, 233, 1, 9, 0, 0, // Skip to: 5130
1154/* 5121 */    MCD::OPC_CheckPredicate, 2, 213, 1, 0, // Skip to: 5595
1155/* 5126 */    MCD::OPC_Decode, 210, 3, 54, // Opcode: FLDGT_D
1156/* 5130 */    MCD::OPC_FilterValue, 234, 1, 9, 0, 0, // Skip to: 5145
1157/* 5136 */    MCD::OPC_CheckPredicate, 1, 198, 1, 0, // Skip to: 5595
1158/* 5141 */    MCD::OPC_Decode, 213, 3, 53, // Opcode: FLDLE_S
1159/* 5145 */    MCD::OPC_FilterValue, 235, 1, 9, 0, 0, // Skip to: 5160
1160/* 5151 */    MCD::OPC_CheckPredicate, 2, 183, 1, 0, // Skip to: 5595
1161/* 5156 */    MCD::OPC_Decode, 212, 3, 54, // Opcode: FLDLE_D
1162/* 5160 */    MCD::OPC_FilterValue, 236, 1, 9, 0, 0, // Skip to: 5175
1163/* 5166 */    MCD::OPC_CheckPredicate, 1, 168, 1, 0, // Skip to: 5595
1164/* 5171 */    MCD::OPC_Decode, 255, 3, 53, // Opcode: FSTGT_S
1165/* 5175 */    MCD::OPC_FilterValue, 237, 1, 9, 0, 0, // Skip to: 5190
1166/* 5181 */    MCD::OPC_CheckPredicate, 2, 153, 1, 0, // Skip to: 5595
1167/* 5186 */    MCD::OPC_Decode, 254, 3, 54, // Opcode: FSTGT_D
1168/* 5190 */    MCD::OPC_FilterValue, 238, 1, 9, 0, 0, // Skip to: 5205
1169/* 5196 */    MCD::OPC_CheckPredicate, 1, 138, 1, 0, // Skip to: 5595
1170/* 5201 */    MCD::OPC_Decode, 129, 4, 53, // Opcode: FSTLE_S
1171/* 5205 */    MCD::OPC_FilterValue, 239, 1, 9, 0, 0, // Skip to: 5220
1172/* 5211 */    MCD::OPC_CheckPredicate, 2, 123, 1, 0, // Skip to: 5595
1173/* 5216 */    MCD::OPC_Decode, 128, 4, 54, // Opcode: FSTLE_D
1174/* 5220 */    MCD::OPC_FilterValue, 240, 1, 9, 0, 0, // Skip to: 5235
1175/* 5226 */    MCD::OPC_CheckPredicate, 0, 108, 1, 0, // Skip to: 5595
1176/* 5231 */    MCD::OPC_Decode, 169, 4, 5, // Opcode: LDGT_B
1177/* 5235 */    MCD::OPC_FilterValue, 241, 1, 9, 0, 0, // Skip to: 5250
1178/* 5241 */    MCD::OPC_CheckPredicate, 0, 93, 1, 0, // Skip to: 5595
1179/* 5246 */    MCD::OPC_Decode, 171, 4, 5, // Opcode: LDGT_H
1180/* 5250 */    MCD::OPC_FilterValue, 242, 1, 9, 0, 0, // Skip to: 5265
1181/* 5256 */    MCD::OPC_CheckPredicate, 0, 78, 1, 0, // Skip to: 5595
1182/* 5261 */    MCD::OPC_Decode, 172, 4, 5, // Opcode: LDGT_W
1183/* 5265 */    MCD::OPC_FilterValue, 243, 1, 9, 0, 0, // Skip to: 5280
1184/* 5271 */    MCD::OPC_CheckPredicate, 0, 63, 1, 0, // Skip to: 5595
1185/* 5276 */    MCD::OPC_Decode, 170, 4, 5, // Opcode: LDGT_D
1186/* 5280 */    MCD::OPC_FilterValue, 244, 1, 9, 0, 0, // Skip to: 5295
1187/* 5286 */    MCD::OPC_CheckPredicate, 0, 48, 1, 0, // Skip to: 5595
1188/* 5291 */    MCD::OPC_Decode, 173, 4, 5, // Opcode: LDLE_B
1189/* 5295 */    MCD::OPC_FilterValue, 245, 1, 9, 0, 0, // Skip to: 5310
1190/* 5301 */    MCD::OPC_CheckPredicate, 0, 33, 1, 0, // Skip to: 5595
1191/* 5306 */    MCD::OPC_Decode, 175, 4, 5, // Opcode: LDLE_H
1192/* 5310 */    MCD::OPC_FilterValue, 246, 1, 9, 0, 0, // Skip to: 5325
1193/* 5316 */    MCD::OPC_CheckPredicate, 0, 18, 1, 0, // Skip to: 5595
1194/* 5321 */    MCD::OPC_Decode, 176, 4, 5, // Opcode: LDLE_W
1195/* 5325 */    MCD::OPC_FilterValue, 247, 1, 9, 0, 0, // Skip to: 5340
1196/* 5331 */    MCD::OPC_CheckPredicate, 0, 3, 1, 0, // Skip to: 5595
1197/* 5336 */    MCD::OPC_Decode, 174, 4, 5, // Opcode: LDLE_D
1198/* 5340 */    MCD::OPC_FilterValue, 248, 1, 9, 0, 0, // Skip to: 5355
1199/* 5346 */    MCD::OPC_CheckPredicate, 0, 244, 0, 0, // Skip to: 5595
1200/* 5351 */    MCD::OPC_Decode, 140, 5, 5, // Opcode: STGT_B
1201/* 5355 */    MCD::OPC_FilterValue, 249, 1, 9, 0, 0, // Skip to: 5370
1202/* 5361 */    MCD::OPC_CheckPredicate, 0, 229, 0, 0, // Skip to: 5595
1203/* 5366 */    MCD::OPC_Decode, 142, 5, 5, // Opcode: STGT_H
1204/* 5370 */    MCD::OPC_FilterValue, 250, 1, 9, 0, 0, // Skip to: 5385
1205/* 5376 */    MCD::OPC_CheckPredicate, 0, 214, 0, 0, // Skip to: 5595
1206/* 5381 */    MCD::OPC_Decode, 143, 5, 5, // Opcode: STGT_W
1207/* 5385 */    MCD::OPC_FilterValue, 251, 1, 9, 0, 0, // Skip to: 5400
1208/* 5391 */    MCD::OPC_CheckPredicate, 0, 199, 0, 0, // Skip to: 5595
1209/* 5396 */    MCD::OPC_Decode, 141, 5, 5, // Opcode: STGT_D
1210/* 5400 */    MCD::OPC_FilterValue, 252, 1, 9, 0, 0, // Skip to: 5415
1211/* 5406 */    MCD::OPC_CheckPredicate, 0, 184, 0, 0, // Skip to: 5595
1212/* 5411 */    MCD::OPC_Decode, 144, 5, 5, // Opcode: STLE_B
1213/* 5415 */    MCD::OPC_FilterValue, 253, 1, 9, 0, 0, // Skip to: 5430
1214/* 5421 */    MCD::OPC_CheckPredicate, 0, 169, 0, 0, // Skip to: 5595
1215/* 5426 */    MCD::OPC_Decode, 146, 5, 5, // Opcode: STLE_H
1216/* 5430 */    MCD::OPC_FilterValue, 254, 1, 9, 0, 0, // Skip to: 5445
1217/* 5436 */    MCD::OPC_CheckPredicate, 0, 154, 0, 0, // Skip to: 5595
1218/* 5441 */    MCD::OPC_Decode, 147, 5, 5, // Opcode: STLE_W
1219/* 5445 */    MCD::OPC_FilterValue, 255, 1, 144, 0, 0, // Skip to: 5595
1220/* 5451 */    MCD::OPC_CheckPredicate, 0, 139, 0, 0, // Skip to: 5595
1221/* 5456 */    MCD::OPC_Decode, 145, 5, 5, // Opcode: STLE_D
1222/* 5460 */    MCD::OPC_FilterValue, 16, 4, 0, 0, // Skip to: 5469
1223/* 5465 */    MCD::OPC_Decode, 229, 2, 56, // Opcode: BEQZ
1224/* 5469 */    MCD::OPC_FilterValue, 17, 4, 0, 0, // Skip to: 5478
1225/* 5474 */    MCD::OPC_Decode, 240, 2, 56, // Opcode: BNEZ
1226/* 5478 */    MCD::OPC_FilterValue, 18, 31, 0, 0, // Skip to: 5514
1227/* 5483 */    MCD::OPC_ExtractField, 8, 2,  // Inst{9-8} ...
1228/* 5486 */    MCD::OPC_FilterValue, 0, 9, 0, 0, // Skip to: 5500
1229/* 5491 */    MCD::OPC_CheckPredicate, 1, 99, 0, 0, // Skip to: 5595
1230/* 5496 */    MCD::OPC_Decode, 226, 2, 57, // Opcode: BCEQZ
1231/* 5500 */    MCD::OPC_FilterValue, 1, 90, 0, 0, // Skip to: 5595
1232/* 5505 */    MCD::OPC_CheckPredicate, 1, 85, 0, 0, // Skip to: 5595
1233/* 5510 */    MCD::OPC_Decode, 227, 2, 57, // Opcode: BCNEZ
1234/* 5514 */    MCD::OPC_FilterValue, 19, 4, 0, 0, // Skip to: 5523
1235/* 5519 */    MCD::OPC_Decode, 167, 4, 58, // Opcode: JIRL
1236/* 5523 */    MCD::OPC_FilterValue, 20, 4, 0, 0, // Skip to: 5532
1237/* 5528 */    MCD::OPC_Decode, 225, 2, 59, // Opcode: B
1238/* 5532 */    MCD::OPC_FilterValue, 21, 4, 0, 0, // Skip to: 5541
1239/* 5537 */    MCD::OPC_Decode, 236, 2, 59, // Opcode: BL
1240/* 5541 */    MCD::OPC_FilterValue, 22, 4, 0, 0, // Skip to: 5550
1241/* 5546 */    MCD::OPC_Decode, 228, 2, 60, // Opcode: BEQ
1242/* 5550 */    MCD::OPC_FilterValue, 23, 4, 0, 0, // Skip to: 5559
1243/* 5555 */    MCD::OPC_Decode, 239, 2, 60, // Opcode: BNE
1244/* 5559 */    MCD::OPC_FilterValue, 24, 4, 0, 0, // Skip to: 5568
1245/* 5564 */    MCD::OPC_Decode, 237, 2, 60, // Opcode: BLT
1246/* 5568 */    MCD::OPC_FilterValue, 25, 4, 0, 0, // Skip to: 5577
1247/* 5573 */    MCD::OPC_Decode, 230, 2, 60, // Opcode: BGE
1248/* 5577 */    MCD::OPC_FilterValue, 26, 4, 0, 0, // Skip to: 5586
1249/* 5582 */    MCD::OPC_Decode, 238, 2, 60, // Opcode: BLTU
1250/* 5586 */    MCD::OPC_FilterValue, 27, 4, 0, 0, // Skip to: 5595
1251/* 5591 */    MCD::OPC_Decode, 231, 2, 60, // Opcode: BGEU
1252/* 5595 */    MCD::OPC_Fail,
1253  0
1254};
1255
1256static bool checkDecoderPredicate(unsigned Idx, const FeatureBitset &Bits) {
1257  switch (Idx) {
1258  default: llvm_unreachable("Invalid index!");
1259  case 0:
1260    return (Bits[LoongArch::Feature64Bit]);
1261  case 1:
1262    return (Bits[LoongArch::FeatureBasicF]);
1263  case 2:
1264    return (Bits[LoongArch::FeatureBasicD]);
1265  case 3:
1266    return (Bits[LoongArch::FeatureBasicD] && Bits[LoongArch::Feature64Bit]);
1267  }
1268}
1269
1270template <typename InsnType>
1271static DecodeStatus decodeToMCInst(DecodeStatus S, unsigned Idx, InsnType insn, MCInst &MI,
1272                                   uint64_t Address, const MCDisassembler *Decoder, bool &DecodeComplete) {
1273  DecodeComplete = true;
1274  using TmpType = std::conditional_t<std::is_integral<InsnType>::value, InsnType, uint64_t>;
1275  TmpType tmp;
1276  switch (Idx) {
1277  default: llvm_unreachable("Invalid index!");
1278  case 0:
1279    tmp = fieldFromInstruction(insn, 0, 5);
1280    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1281    tmp = fieldFromInstruction(insn, 5, 5);
1282    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1283    return S;
1284  case 1:
1285    tmp = fieldFromInstruction(insn, 5, 5);
1286    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1287    tmp = fieldFromInstruction(insn, 10, 5);
1288    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1289    return S;
1290  case 2:
1291    tmp = fieldFromInstruction(insn, 0, 5);
1292    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1293    tmp = fieldFromInstruction(insn, 5, 5);
1294    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1295    tmp = fieldFromInstruction(insn, 10, 5);
1296    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1297    tmp = fieldFromInstruction(insn, 15, 2);
1298    if (!Check(S, decodeUImmOperand<2, 1>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1299    return S;
1300  case 3:
1301    tmp = fieldFromInstruction(insn, 0, 5);
1302    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1303    tmp = fieldFromInstruction(insn, 5, 5);
1304    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1305    tmp = fieldFromInstruction(insn, 10, 5);
1306    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1307    tmp = fieldFromInstruction(insn, 15, 2);
1308    MI.addOperand(MCOperand::createImm(tmp));
1309    return S;
1310  case 4:
1311    tmp = fieldFromInstruction(insn, 0, 5);
1312    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1313    tmp = fieldFromInstruction(insn, 5, 5);
1314    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1315    tmp = fieldFromInstruction(insn, 10, 5);
1316    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1317    tmp = fieldFromInstruction(insn, 15, 3);
1318    MI.addOperand(MCOperand::createImm(tmp));
1319    return S;
1320  case 5:
1321    tmp = fieldFromInstruction(insn, 0, 5);
1322    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1323    tmp = fieldFromInstruction(insn, 5, 5);
1324    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1325    tmp = fieldFromInstruction(insn, 10, 5);
1326    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1327    return S;
1328  case 6:
1329    tmp = fieldFromInstruction(insn, 0, 15);
1330    MI.addOperand(MCOperand::createImm(tmp));
1331    return S;
1332  case 7:
1333    tmp = fieldFromInstruction(insn, 0, 5);
1334    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1335    tmp = fieldFromInstruction(insn, 5, 5);
1336    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1337    tmp = fieldFromInstruction(insn, 10, 5);
1338    MI.addOperand(MCOperand::createImm(tmp));
1339    return S;
1340  case 8:
1341    tmp = fieldFromInstruction(insn, 0, 5);
1342    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1343    tmp = fieldFromInstruction(insn, 5, 5);
1344    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1345    tmp = fieldFromInstruction(insn, 10, 6);
1346    MI.addOperand(MCOperand::createImm(tmp));
1347    return S;
1348  case 9:
1349    tmp = fieldFromInstruction(insn, 0, 5);
1350    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1351    tmp = fieldFromInstruction(insn, 0, 5);
1352    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1353    tmp = fieldFromInstruction(insn, 5, 5);
1354    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1355    tmp = fieldFromInstruction(insn, 16, 5);
1356    MI.addOperand(MCOperand::createImm(tmp));
1357    tmp = fieldFromInstruction(insn, 10, 5);
1358    MI.addOperand(MCOperand::createImm(tmp));
1359    return S;
1360  case 10:
1361    tmp = fieldFromInstruction(insn, 0, 5);
1362    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1363    tmp = fieldFromInstruction(insn, 5, 5);
1364    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1365    tmp = fieldFromInstruction(insn, 16, 5);
1366    MI.addOperand(MCOperand::createImm(tmp));
1367    tmp = fieldFromInstruction(insn, 10, 5);
1368    MI.addOperand(MCOperand::createImm(tmp));
1369    return S;
1370  case 11:
1371    tmp = fieldFromInstruction(insn, 0, 5);
1372    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1373    tmp = fieldFromInstruction(insn, 0, 5);
1374    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1375    tmp = fieldFromInstruction(insn, 5, 5);
1376    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1377    tmp = fieldFromInstruction(insn, 16, 6);
1378    MI.addOperand(MCOperand::createImm(tmp));
1379    tmp = fieldFromInstruction(insn, 10, 6);
1380    MI.addOperand(MCOperand::createImm(tmp));
1381    return S;
1382  case 12:
1383    tmp = fieldFromInstruction(insn, 0, 5);
1384    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1385    tmp = fieldFromInstruction(insn, 5, 5);
1386    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1387    tmp = fieldFromInstruction(insn, 16, 6);
1388    MI.addOperand(MCOperand::createImm(tmp));
1389    tmp = fieldFromInstruction(insn, 10, 6);
1390    MI.addOperand(MCOperand::createImm(tmp));
1391    return S;
1392  case 13:
1393    tmp = fieldFromInstruction(insn, 0, 5);
1394    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1395    tmp = fieldFromInstruction(insn, 5, 5);
1396    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1397    tmp = fieldFromInstruction(insn, 10, 5);
1398    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1399    return S;
1400  case 14:
1401    tmp = fieldFromInstruction(insn, 0, 5);
1402    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1403    tmp = fieldFromInstruction(insn, 5, 5);
1404    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1405    tmp = fieldFromInstruction(insn, 10, 5);
1406    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1407    return S;
1408  case 15:
1409    tmp = fieldFromInstruction(insn, 0, 5);
1410    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1411    tmp = fieldFromInstruction(insn, 5, 5);
1412    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1413    return S;
1414  case 16:
1415    tmp = fieldFromInstruction(insn, 0, 5);
1416    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1417    tmp = fieldFromInstruction(insn, 5, 5);
1418    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1419    return S;
1420  case 17:
1421    tmp = fieldFromInstruction(insn, 0, 5);
1422    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1423    tmp = fieldFromInstruction(insn, 5, 5);
1424    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1425    return S;
1426  case 18:
1427    tmp = fieldFromInstruction(insn, 0, 5);
1428    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1429    tmp = fieldFromInstruction(insn, 5, 5);
1430    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1431    return S;
1432  case 19:
1433    tmp = fieldFromInstruction(insn, 0, 5);
1434    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1435    tmp = fieldFromInstruction(insn, 0, 5);
1436    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1437    tmp = fieldFromInstruction(insn, 5, 5);
1438    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1439    return S;
1440  case 20:
1441    tmp = fieldFromInstruction(insn, 0, 5);
1442    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1443    tmp = fieldFromInstruction(insn, 5, 5);
1444    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1445    return S;
1446  case 21:
1447    tmp = fieldFromInstruction(insn, 0, 5);
1448    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1449    tmp = fieldFromInstruction(insn, 5, 5);
1450    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1451    return S;
1452  case 22:
1453    tmp = fieldFromInstruction(insn, 0, 5);
1454    if (!Check(S, DecodeFCSRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1455    tmp = fieldFromInstruction(insn, 5, 5);
1456    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1457    return S;
1458  case 23:
1459    tmp = fieldFromInstruction(insn, 0, 5);
1460    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1461    tmp = fieldFromInstruction(insn, 5, 5);
1462    if (!Check(S, DecodeFCSRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1463    return S;
1464  case 24:
1465    tmp = fieldFromInstruction(insn, 0, 5);
1466    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1467    tmp = fieldFromInstruction(insn, 5, 5);
1468    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1469    return S;
1470  case 25:
1471    tmp = fieldFromInstruction(insn, 0, 5);
1472    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1473    tmp = fieldFromInstruction(insn, 5, 5);
1474    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1475    return S;
1476  case 26:
1477    tmp = fieldFromInstruction(insn, 0, 5);
1478    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1479    tmp = fieldFromInstruction(insn, 5, 5);
1480    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1481    return S;
1482  case 27:
1483    tmp = fieldFromInstruction(insn, 0, 5);
1484    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1485    tmp = fieldFromInstruction(insn, 5, 5);
1486    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1487    return S;
1488  case 28:
1489    tmp = fieldFromInstruction(insn, 0, 5);
1490    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1491    tmp = fieldFromInstruction(insn, 5, 5);
1492    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1493    return S;
1494  case 29:
1495    tmp = fieldFromInstruction(insn, 0, 5);
1496    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1497    tmp = fieldFromInstruction(insn, 5, 5);
1498    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1499    return S;
1500  case 30:
1501    tmp = fieldFromInstruction(insn, 0, 5);
1502    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1503    tmp = fieldFromInstruction(insn, 5, 5);
1504    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1505    tmp = fieldFromInstruction(insn, 10, 12);
1506    if (!Check(S, decodeSImmOperand<12>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1507    return S;
1508  case 31:
1509    tmp = fieldFromInstruction(insn, 0, 5);
1510    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1511    tmp = fieldFromInstruction(insn, 5, 5);
1512    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1513    tmp = fieldFromInstruction(insn, 10, 12);
1514    if (!Check(S, decodeUImmOperand<12>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1515    return S;
1516  case 32:
1517    tmp = fieldFromInstruction(insn, 0, 5);
1518    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1519    tmp = fieldFromInstruction(insn, 10, 14);
1520    MI.addOperand(MCOperand::createImm(tmp));
1521    return S;
1522  case 33:
1523    tmp = fieldFromInstruction(insn, 0, 5);
1524    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1525    tmp = fieldFromInstruction(insn, 0, 5);
1526    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1527    tmp = fieldFromInstruction(insn, 10, 14);
1528    MI.addOperand(MCOperand::createImm(tmp));
1529    return S;
1530  case 34:
1531    tmp = fieldFromInstruction(insn, 0, 5);
1532    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1533    tmp = fieldFromInstruction(insn, 0, 5);
1534    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1535    tmp = fieldFromInstruction(insn, 5, 5);
1536    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1537    tmp = fieldFromInstruction(insn, 10, 14);
1538    MI.addOperand(MCOperand::createImm(tmp));
1539    return S;
1540  case 35:
1541    tmp = fieldFromInstruction(insn, 0, 5);
1542    MI.addOperand(MCOperand::createImm(tmp));
1543    tmp = fieldFromInstruction(insn, 5, 5);
1544    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1545    tmp = fieldFromInstruction(insn, 10, 12);
1546    if (!Check(S, decodeSImmOperand<12>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1547    return S;
1548  case 36:
1549    tmp = fieldFromInstruction(insn, 0, 5);
1550    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1551    tmp = fieldFromInstruction(insn, 5, 5);
1552    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1553    tmp = fieldFromInstruction(insn, 10, 8);
1554    MI.addOperand(MCOperand::createImm(tmp));
1555    return S;
1556  case 37:
1557    tmp = fieldFromInstruction(insn, 5, 5);
1558    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1559    tmp = fieldFromInstruction(insn, 10, 8);
1560    MI.addOperand(MCOperand::createImm(tmp));
1561    return S;
1562  case 38:
1563    return S;
1564  case 39:
1565    tmp = fieldFromInstruction(insn, 10, 5);
1566    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1567    tmp = fieldFromInstruction(insn, 5, 5);
1568    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1569    tmp = fieldFromInstruction(insn, 0, 5);
1570    MI.addOperand(MCOperand::createImm(tmp));
1571    return S;
1572  case 40:
1573    tmp = fieldFromInstruction(insn, 0, 5);
1574    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1575    tmp = fieldFromInstruction(insn, 5, 5);
1576    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1577    tmp = fieldFromInstruction(insn, 10, 5);
1578    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1579    tmp = fieldFromInstruction(insn, 15, 5);
1580    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1581    return S;
1582  case 41:
1583    tmp = fieldFromInstruction(insn, 0, 5);
1584    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1585    tmp = fieldFromInstruction(insn, 5, 5);
1586    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1587    tmp = fieldFromInstruction(insn, 10, 5);
1588    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1589    tmp = fieldFromInstruction(insn, 15, 5);
1590    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1591    return S;
1592  case 42:
1593    tmp = fieldFromInstruction(insn, 0, 3);
1594    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1595    tmp = fieldFromInstruction(insn, 5, 5);
1596    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1597    tmp = fieldFromInstruction(insn, 10, 5);
1598    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1599    return S;
1600  case 43:
1601    tmp = fieldFromInstruction(insn, 0, 3);
1602    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1603    tmp = fieldFromInstruction(insn, 5, 5);
1604    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1605    tmp = fieldFromInstruction(insn, 10, 5);
1606    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1607    return S;
1608  case 44:
1609    tmp = fieldFromInstruction(insn, 0, 5);
1610    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1611    tmp = fieldFromInstruction(insn, 5, 5);
1612    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1613    tmp = fieldFromInstruction(insn, 10, 5);
1614    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1615    tmp = fieldFromInstruction(insn, 15, 3);
1616    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1617    return S;
1618  case 45:
1619    tmp = fieldFromInstruction(insn, 0, 5);
1620    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1621    tmp = fieldFromInstruction(insn, 5, 5);
1622    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1623    tmp = fieldFromInstruction(insn, 10, 16);
1624    if (!Check(S, decodeSImmOperand<16>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1625    return S;
1626  case 46:
1627    tmp = fieldFromInstruction(insn, 0, 5);
1628    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1629    tmp = fieldFromInstruction(insn, 5, 20);
1630    if (!Check(S, decodeSImmOperand<20>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1631    return S;
1632  case 47:
1633    tmp = fieldFromInstruction(insn, 0, 5);
1634    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1635    tmp = fieldFromInstruction(insn, 0, 5);
1636    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1637    tmp = fieldFromInstruction(insn, 5, 20);
1638    if (!Check(S, decodeSImmOperand<20>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1639    return S;
1640  case 48:
1641    tmp = fieldFromInstruction(insn, 0, 5);
1642    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1643    tmp = fieldFromInstruction(insn, 5, 5);
1644    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1645    tmp = fieldFromInstruction(insn, 10, 14);
1646    if (!Check(S, decodeSImmOperand<14, 2>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1647    return S;
1648  case 49:
1649    tmp = fieldFromInstruction(insn, 0, 5);
1650    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1651    tmp = fieldFromInstruction(insn, 0, 5);
1652    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1653    tmp = fieldFromInstruction(insn, 5, 5);
1654    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1655    tmp = fieldFromInstruction(insn, 10, 14);
1656    if (!Check(S, decodeSImmOperand<14, 2>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1657    return S;
1658  case 50:
1659    tmp = fieldFromInstruction(insn, 0, 5);
1660    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1661    tmp = fieldFromInstruction(insn, 5, 5);
1662    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1663    tmp = fieldFromInstruction(insn, 10, 12);
1664    if (!Check(S, decodeSImmOperand<12>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1665    return S;
1666  case 51:
1667    tmp = fieldFromInstruction(insn, 0, 5);
1668    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1669    tmp = fieldFromInstruction(insn, 5, 5);
1670    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1671    tmp = fieldFromInstruction(insn, 10, 12);
1672    if (!Check(S, decodeSImmOperand<12>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1673    return S;
1674  case 52:
1675    tmp = fieldFromInstruction(insn, 0, 5);
1676    MI.addOperand(MCOperand::createImm(tmp));
1677    tmp = fieldFromInstruction(insn, 5, 5);
1678    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1679    tmp = fieldFromInstruction(insn, 10, 5);
1680    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1681    return S;
1682  case 53:
1683    tmp = fieldFromInstruction(insn, 0, 5);
1684    if (!Check(S, DecodeFPR32RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1685    tmp = fieldFromInstruction(insn, 5, 5);
1686    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1687    tmp = fieldFromInstruction(insn, 10, 5);
1688    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1689    return S;
1690  case 54:
1691    tmp = fieldFromInstruction(insn, 0, 5);
1692    if (!Check(S, DecodeFPR64RegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1693    tmp = fieldFromInstruction(insn, 5, 5);
1694    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1695    tmp = fieldFromInstruction(insn, 10, 5);
1696    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1697    return S;
1698  case 55:
1699    tmp = fieldFromInstruction(insn, 0, 5);
1700    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1701    tmp = fieldFromInstruction(insn, 10, 5);
1702    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1703    tmp = fieldFromInstruction(insn, 5, 5);
1704    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1705    return S;
1706  case 56:
1707    tmp = fieldFromInstruction(insn, 5, 5);
1708    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1709    tmp = 0x0;
1710    insertBits(tmp, fieldFromInstruction(insn, 0, 5), 16, 5);
1711    insertBits(tmp, fieldFromInstruction(insn, 10, 16), 0, 16);
1712    if (!Check(S, decodeSImmOperand<21, 2>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1713    return S;
1714  case 57:
1715    tmp = fieldFromInstruction(insn, 5, 3);
1716    if (!Check(S, DecodeCFRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1717    tmp = 0x0;
1718    insertBits(tmp, fieldFromInstruction(insn, 0, 5), 16, 5);
1719    insertBits(tmp, fieldFromInstruction(insn, 10, 16), 0, 16);
1720    if (!Check(S, decodeSImmOperand<21, 2>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1721    return S;
1722  case 58:
1723    tmp = fieldFromInstruction(insn, 0, 5);
1724    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1725    tmp = fieldFromInstruction(insn, 5, 5);
1726    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1727    tmp = fieldFromInstruction(insn, 10, 16);
1728    if (!Check(S, decodeSImmOperand<16, 2>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1729    return S;
1730  case 59:
1731    tmp = 0x0;
1732    insertBits(tmp, fieldFromInstruction(insn, 0, 10), 16, 10);
1733    insertBits(tmp, fieldFromInstruction(insn, 10, 16), 0, 16);
1734    if (!Check(S, decodeSImmOperand<26, 2>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1735    return S;
1736  case 60:
1737    tmp = fieldFromInstruction(insn, 5, 5);
1738    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1739    tmp = fieldFromInstruction(insn, 0, 5);
1740    if (!Check(S, DecodeGPRRegisterClass(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1741    tmp = fieldFromInstruction(insn, 10, 16);
1742    if (!Check(S, decodeSImmOperand<16, 2>(MI, tmp, Address, Decoder))) { return MCDisassembler::Fail; }
1743    return S;
1744  }
1745}
1746
1747template <typename InsnType>
1748static DecodeStatus decodeInstruction(const uint8_t DecodeTable[], MCInst &MI,
1749                                      InsnType insn, uint64_t Address,
1750                                      const MCDisassembler *DisAsm,
1751                                      const MCSubtargetInfo &STI) {
1752  const FeatureBitset &Bits = STI.getFeatureBits();
1753
1754  const uint8_t *Ptr = DecodeTable;
1755  uint64_t CurFieldValue = 0;
1756  DecodeStatus S = MCDisassembler::Success;
1757  while (true) {
1758    ptrdiff_t Loc = Ptr - DecodeTable;
1759    switch (*Ptr) {
1760    default:
1761      errs() << Loc << ": Unexpected decode table opcode!\n";
1762      return MCDisassembler::Fail;
1763    case MCD::OPC_ExtractField: {
1764      unsigned Start = *++Ptr;
1765      unsigned Len = *++Ptr;
1766      ++Ptr;
1767      CurFieldValue = fieldFromInstruction(insn, Start, Len);
1768      LLVM_DEBUG(dbgs() << Loc << ": OPC_ExtractField(" << Start << ", "
1769                   << Len << "): " << CurFieldValue << "\n");
1770      break;
1771    }
1772    case MCD::OPC_FilterValue: {
1773      // Decode the field value.
1774      unsigned Len;
1775      uint64_t Val = decodeULEB128(++Ptr, &Len);
1776      Ptr += Len;
1777      // NumToSkip is a plain 24-bit integer.
1778      unsigned NumToSkip = *Ptr++;
1779      NumToSkip |= (*Ptr++) << 8;
1780      NumToSkip |= (*Ptr++) << 16;
1781
1782      // Perform the filter operation.
1783      if (Val != CurFieldValue)
1784        Ptr += NumToSkip;
1785      LLVM_DEBUG(dbgs() << Loc << ": OPC_FilterValue(" << Val << ", " << NumToSkip
1786                   << "): " << ((Val != CurFieldValue) ? "FAIL:" : "PASS:")
1787                   << " continuing at " << (Ptr - DecodeTable) << "\n");
1788
1789      break;
1790    }
1791    case MCD::OPC_CheckField: {
1792      unsigned Start = *++Ptr;
1793      unsigned Len = *++Ptr;
1794      uint64_t FieldValue = fieldFromInstruction(insn, Start, Len);
1795      // Decode the field value.
1796      unsigned PtrLen = 0;
1797      uint64_t ExpectedValue = decodeULEB128(++Ptr, &PtrLen);
1798      Ptr += PtrLen;
1799      // NumToSkip is a plain 24-bit integer.
1800      unsigned NumToSkip = *Ptr++;
1801      NumToSkip |= (*Ptr++) << 8;
1802      NumToSkip |= (*Ptr++) << 16;
1803
1804      // If the actual and expected values don't match, skip.
1805      if (ExpectedValue != FieldValue)
1806        Ptr += NumToSkip;
1807      LLVM_DEBUG(dbgs() << Loc << ": OPC_CheckField(" << Start << ", "
1808                   << Len << ", " << ExpectedValue << ", " << NumToSkip
1809                   << "): FieldValue = " << FieldValue << ", ExpectedValue = "
1810                   << ExpectedValue << ": "
1811                   << ((ExpectedValue == FieldValue) ? "PASS\n" : "FAIL\n"));
1812      break;
1813    }
1814    case MCD::OPC_CheckPredicate: {
1815      unsigned Len;
1816      // Decode the Predicate Index value.
1817      unsigned PIdx = decodeULEB128(++Ptr, &Len);
1818      Ptr += Len;
1819      // NumToSkip is a plain 24-bit integer.
1820      unsigned NumToSkip = *Ptr++;
1821      NumToSkip |= (*Ptr++) << 8;
1822      NumToSkip |= (*Ptr++) << 16;
1823      // Check the predicate.
1824      bool Pred;
1825      if (!(Pred = checkDecoderPredicate(PIdx, Bits)))
1826        Ptr += NumToSkip;
1827      (void)Pred;
1828      LLVM_DEBUG(dbgs() << Loc << ": OPC_CheckPredicate(" << PIdx << "): "
1829            << (Pred ? "PASS\n" : "FAIL\n"));
1830
1831      break;
1832    }
1833    case MCD::OPC_Decode: {
1834      unsigned Len;
1835      // Decode the Opcode value.
1836      unsigned Opc = decodeULEB128(++Ptr, &Len);
1837      Ptr += Len;
1838      unsigned DecodeIdx = decodeULEB128(Ptr, &Len);
1839      Ptr += Len;
1840
1841      MI.clear();
1842      MI.setOpcode(Opc);
1843      bool DecodeComplete;
1844      S = decodeToMCInst(S, DecodeIdx, insn, MI, Address, DisAsm, DecodeComplete);
1845      assert(DecodeComplete);
1846
1847      LLVM_DEBUG(dbgs() << Loc << ": OPC_Decode: opcode " << Opc
1848                   << ", using decoder " << DecodeIdx << ": "
1849                   << (S != MCDisassembler::Fail ? "PASS" : "FAIL") << "\n");
1850      return S;
1851    }
1852    case MCD::OPC_TryDecode: {
1853      unsigned Len;
1854      // Decode the Opcode value.
1855      unsigned Opc = decodeULEB128(++Ptr, &Len);
1856      Ptr += Len;
1857      unsigned DecodeIdx = decodeULEB128(Ptr, &Len);
1858      Ptr += Len;
1859      // NumToSkip is a plain 24-bit integer.
1860      unsigned NumToSkip = *Ptr++;
1861      NumToSkip |= (*Ptr++) << 8;
1862      NumToSkip |= (*Ptr++) << 16;
1863
1864      // Perform the decode operation.
1865      MCInst TmpMI;
1866      TmpMI.setOpcode(Opc);
1867      bool DecodeComplete;
1868      S = decodeToMCInst(S, DecodeIdx, insn, TmpMI, Address, DisAsm, DecodeComplete);
1869      LLVM_DEBUG(dbgs() << Loc << ": OPC_TryDecode: opcode " << Opc
1870                   << ", using decoder " << DecodeIdx << ": ");
1871
1872      if (DecodeComplete) {
1873        // Decoding complete.
1874        LLVM_DEBUG(dbgs() << (S != MCDisassembler::Fail ? "PASS" : "FAIL") << "\n");
1875        MI = TmpMI;
1876        return S;
1877      } else {
1878        assert(S == MCDisassembler::Fail);
1879        // If the decoding was incomplete, skip.
1880        Ptr += NumToSkip;
1881        LLVM_DEBUG(dbgs() << "FAIL: continuing at " << (Ptr - DecodeTable) << "\n");
1882        // Reset decode status. This also drops a SoftFail status that could be
1883        // set before the decode attempt.
1884        S = MCDisassembler::Success;
1885      }
1886      break;
1887    }
1888    case MCD::OPC_SoftFail: {
1889      // Decode the mask values.
1890      unsigned Len;
1891      uint64_t PositiveMask = decodeULEB128(++Ptr, &Len);
1892      Ptr += Len;
1893      uint64_t NegativeMask = decodeULEB128(Ptr, &Len);
1894      Ptr += Len;
1895      bool Fail = (insn & PositiveMask) != 0 || (~insn & NegativeMask) != 0;
1896      if (Fail)
1897        S = MCDisassembler::SoftFail;
1898      LLVM_DEBUG(dbgs() << Loc << ": OPC_SoftFail: " << (Fail ? "FAIL\n" : "PASS\n"));
1899      break;
1900    }
1901    case MCD::OPC_Fail: {
1902      LLVM_DEBUG(dbgs() << Loc << ": OPC_Fail\n");
1903      return MCDisassembler::Fail;
1904    }
1905    }
1906  }
1907  llvm_unreachable("bogosity detected in disassembler state machine!");
1908}
1909
1910
1911} // end namespace llvm
1912