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