12 #include "../../MCInst.h"
13 #include "../../LEB128.h"
16 #define FieldFromInstruction(fname, InsnType) \
17 static InsnType fname(InsnType insn, unsigned startBit, unsigned numBits) \
20 if (numBits == sizeof(InsnType)*8) \
21 fieldMask = (InsnType)(-1LL); \
23 fieldMask = (((InsnType)1 << numBits) - 1) << startBit; \
24 return (insn & fieldMask) >> startBit; \
27 static uint8_t DecoderTableCOP3_32[] = {
45 static uint8_t DecoderTableMicroMips16[] = {
188 static const uint8_t DecoderTableMicroMips32[] = {
601 static const uint8_t DecoderTableMips32[] = {
3826 static const uint8_t DecoderTableMips32r6_64r632[] = {
4263 static const uint8_t DecoderTableMips32r6_64r6_GP6432[] = {
4277 static const uint8_t DecoderTableMips6432[] = {
4803 static bool checkDecoderPredicate(
unsigned Idx,
uint64_t Bits)
4808 return getbool((Bits & Mips_FeatureMips16));
4810 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureMicroMips));
4812 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips2) && !(Bits & Mips_FeatureMicroMips));
4814 return getbool((Bits & Mips_FeatureMicroMips));
4816 return getbool((Bits & Mips_FeatureMips32) && (Bits & Mips_FeatureMicroMips));
4818 return getbool(!(Bits & Mips_FeatureMips16));
4820 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips32r2));
4822 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips4_32) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4824 return getbool((Bits & Mips_FeatureMSA));
4826 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips32) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4828 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips32));
4830 return getbool(!(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6) && !(Bits & Mips_FeatureMicroMips));
4832 return getbool((Bits & Mips_FeatureDSP));
4834 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4836 return getbool((Bits & Mips_FeatureMSA) && (Bits & Mips_FeatureMips64));
4838 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips2));
4840 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4842 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips3_32));
4844 return getbool(!(Bits & Mips_FeatureMicroMips));
4846 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips3));
4848 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips32r2) && !(Bits & Mips_FeatureFP64Bit));
4850 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureFP64Bit));
4852 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips3_32r2));
4854 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips2) && !(Bits & Mips_FeatureFP64Bit));
4856 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips4_32) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4858 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6) && !(Bits & Mips_FeatureFP64Bit));
4860 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips4_32r2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4862 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips4_32r2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6) && !(Bits & Mips_FeatureMicroMips));
4864 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips5_32r2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4866 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips4_32r2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4868 return getbool((Bits & Mips_FeatureDSPR2));
4870 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips3_32) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4872 return getbool((Bits & Mips_FeatureMips2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6) && !(Bits & Mips_FeatureMicroMips));
4874 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6) && !(Bits & Mips_FeatureMicroMips));
4876 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips2));
4878 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6) && !(Bits & Mips_FeatureMicroMips));
4880 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips32r6));
4882 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips64r6));
4884 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureGP64Bit) && (Bits & Mips_FeatureMips32r6));
4886 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureGP64Bit) && (Bits & Mips_FeatureMips32r6));
4888 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips64r2));
4890 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips3) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4892 return getbool((Bits & Mips_FeatureMips64));
4894 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips32r2) && (Bits & Mips_FeatureFP64Bit));
4896 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureFP64Bit));
4898 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips2) && (Bits & Mips_FeatureFP64Bit));
4900 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips4_32) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4902 return getbool(!(Bits & Mips_FeatureMips16) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6) && (Bits & Mips_FeatureFP64Bit));
4904 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips4_32r2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4906 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips5_32r2) && !(Bits & Mips_FeatureMips32r6) && !(Bits & Mips_FeatureMips64r6));
4908 return getbool((Bits & Mips_FeatureCnMips));
4910 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureMips64) && !(Bits & Mips_FeatureMips64r6));
4912 return getbool(!(Bits & Mips_FeatureMips16) && (Bits & Mips_FeatureFP64Bit) && (Bits & Mips_FeatureMips2));
4916 #define DecodeToMCInst(fname,fieldname, InsnType) \
4917 static DecodeStatus fname(DecodeStatus S, unsigned Idx, InsnType insn, MCInst *MI, \
4918 uint64_t Address, void *Decoder) \
4926 tmp = fieldname(insn, 8, 3); \
4927 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4930 tmp = fieldname(insn, 8, 3); \
4931 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4932 tmp = fieldname(insn, 8, 3); \
4933 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4937 tmp |= fieldname(insn, 3, 2) << 3; \
4938 tmp |= fieldname(insn, 5, 3) << 0; \
4939 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4940 tmp = fieldname(insn, 0, 3); \
4941 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4944 tmp = fieldname(insn, 0, 4); \
4945 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4948 tmp = fieldname(insn, 2, 3); \
4949 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4950 tmp = fieldname(insn, 8, 3); \
4951 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4952 tmp = fieldname(insn, 5, 3); \
4953 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4956 tmp = fieldname(insn, 8, 3); \
4957 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4958 tmp = fieldname(insn, 5, 3); \
4959 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4962 tmp = fieldname(insn, 8, 3); \
4963 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4964 tmp = fieldname(insn, 8, 3); \
4965 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4966 tmp = fieldname(insn, 5, 3); \
4967 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4971 tmp |= fieldname(insn, 0, 5) << 0; \
4972 tmp |= fieldname(insn, 16, 5) << 11; \
4973 tmp |= fieldname(insn, 21, 6) << 5; \
4974 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4977 tmp = fieldname(insn, 5, 3); \
4978 if (DecodeCPU16RegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4981 if (DecodeFMem3(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4984 tmp = fieldname(insn, 7, 3); \
4985 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4986 tmp = fieldname(insn, 1, 3); \
4987 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4988 tmp = fieldname(insn, 4, 3); \
4989 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4992 if (DecodeMemMMImm4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4995 tmp = fieldname(insn, 5, 5); \
4996 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
4997 tmp = fieldname(insn, 0, 5); \
4998 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5001 tmp = fieldname(insn, 7, 3); \
5002 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5003 tmp = fieldname(insn, 4, 3); \
5004 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5005 tmp = fieldname(insn, 1, 3); \
5006 MCOperand_CreateImm0(MI, tmp); \
5009 tmp = fieldname(insn, 7, 3); \
5010 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5011 tmp = fieldname(insn, 4, 3); \
5012 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5013 tmp = fieldname(insn, 0, 4); \
5014 if (DecodeANDI16Imm(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5017 tmp = fieldname(insn, 3, 3); \
5018 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5019 tmp = fieldname(insn, 0, 3); \
5020 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5023 tmp = fieldname(insn, 3, 3); \
5024 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5025 tmp = fieldname(insn, 0, 3); \
5026 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5027 tmp = fieldname(insn, 3, 3); \
5028 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5031 if (DecodeMemMMReglistImm4Lsl2(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5034 tmp = fieldname(insn, 0, 5); \
5035 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5038 tmp = fieldname(insn, 0, 4); \
5039 MCOperand_CreateImm0(MI, tmp); \
5042 tmp = fieldname(insn, 0, 5); \
5043 if (DecodeUImm5lsl2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5046 if (DecodeMemMMSPImm5Lsl2(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5049 tmp = fieldname(insn, 5, 5); \
5050 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5051 tmp = fieldname(insn, 5, 5); \
5052 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5053 tmp = fieldname(insn, 1, 4); \
5054 if (DecodeSimm4(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5057 tmp = fieldname(insn, 1, 9); \
5058 if (DecodeSimm9SP(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5061 if (DecodeMemMMGPImm7Lsl2(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5064 tmp = fieldname(insn, 7, 3); \
5065 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5066 tmp = fieldname(insn, 4, 3); \
5067 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5068 tmp = fieldname(insn, 1, 3); \
5069 if (DecodeAddiur2Simm7(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5072 tmp = fieldname(insn, 7, 3); \
5073 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5074 tmp = fieldname(insn, 1, 6); \
5075 if (DecodeUImm6Lsl2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5078 tmp = fieldname(insn, 7, 3); \
5079 if (DecodeMovePRegPair(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5080 tmp = fieldname(insn, 1, 3); \
5081 if (DecodeGPRMM16MovePRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5082 tmp = fieldname(insn, 4, 3); \
5083 if (DecodeGPRMM16MovePRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5086 tmp = fieldname(insn, 7, 3); \
5087 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5088 tmp = fieldname(insn, 0, 7); \
5089 if (DecodeBranchTarget7MM(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5092 tmp = fieldname(insn, 0, 10); \
5093 if (DecodeBranchTarget10MM(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5096 tmp = fieldname(insn, 7, 3); \
5097 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5098 tmp = fieldname(insn, 0, 7); \
5099 if (DecodeLiSimm7(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5102 tmp = fieldname(insn, 21, 5); \
5103 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5104 tmp = fieldname(insn, 16, 5); \
5105 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5106 tmp = fieldname(insn, 11, 5); \
5107 MCOperand_CreateImm0(MI, tmp); \
5110 tmp = fieldname(insn, 16, 10); \
5111 MCOperand_CreateImm0(MI, tmp); \
5112 tmp = fieldname(insn, 6, 10); \
5113 MCOperand_CreateImm0(MI, tmp); \
5116 tmp = fieldname(insn, 21, 5); \
5117 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5118 tmp = fieldname(insn, 16, 5); \
5119 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5120 tmp = fieldname(insn, 6, 5); \
5121 MCOperand_CreateImm0(MI, tmp); \
5122 tmp = fieldname(insn, 11, 5); \
5123 if (DecodeInsSize(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5124 tmp = fieldname(insn, 21, 5); \
5125 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5128 tmp = fieldname(insn, 11, 5); \
5129 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5130 tmp = fieldname(insn, 21, 5); \
5131 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5132 tmp = fieldname(insn, 16, 5); \
5133 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5136 tmp = fieldname(insn, 11, 5); \
5137 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5138 tmp = fieldname(insn, 16, 5); \
5139 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5140 tmp = fieldname(insn, 21, 5); \
5141 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5144 tmp = fieldname(insn, 11, 5); \
5145 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5146 tmp = fieldname(insn, 16, 5); \
5147 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5148 tmp = fieldname(insn, 21, 5); \
5149 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5150 tmp = fieldname(insn, 11, 5); \
5151 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5154 tmp = fieldname(insn, 11, 5); \
5155 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5156 tmp = fieldname(insn, 16, 5); \
5157 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5158 tmp = fieldname(insn, 21, 5); \
5159 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5162 tmp = fieldname(insn, 21, 5); \
5163 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5164 tmp = fieldname(insn, 16, 5); \
5165 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5166 tmp = fieldname(insn, 6, 5); \
5167 MCOperand_CreateImm0(MI, tmp); \
5168 tmp = fieldname(insn, 11, 5); \
5169 if (DecodeExtSize(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5172 tmp = fieldname(insn, 16, 5); \
5173 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5174 tmp = fieldname(insn, 21, 5); \
5175 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5176 tmp = fieldname(insn, 12, 4); \
5177 MCOperand_CreateImm0(MI, tmp); \
5180 tmp = fieldname(insn, 16, 10); \
5181 MCOperand_CreateImm0(MI, tmp); \
5184 tmp = fieldname(insn, 16, 5); \
5185 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5188 tmp = fieldname(insn, 21, 5); \
5189 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5190 tmp = fieldname(insn, 16, 5); \
5191 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5194 tmp = fieldname(insn, 21, 5); \
5195 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5196 tmp = fieldname(insn, 16, 5); \
5197 if (DecodeHWRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5200 tmp = fieldname(insn, 16, 5); \
5201 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5202 tmp = fieldname(insn, 21, 5); \
5203 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5206 tmp = fieldname(insn, 16, 5); \
5207 MCOperand_CreateImm0(MI, tmp); \
5210 tmp = fieldname(insn, 21, 5); \
5211 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5212 tmp = fieldname(insn, 16, 5); \
5213 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5214 tmp = fieldname(insn, 0, 16); \
5215 if (DecodeSimm16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5218 if (DecodeMemMMImm16(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5221 if (DecodeMemMMImm12(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5224 if (DecodeCacheOpMM(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5227 tmp = fieldname(insn, 16, 5); \
5228 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5229 tmp = fieldname(insn, 0, 16); \
5230 if (DecodeBranchTargetMM(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5233 tmp = fieldname(insn, 16, 5); \
5234 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5235 tmp = fieldname(insn, 0, 16); \
5236 MCOperand_CreateImm0(MI, tmp); \
5239 tmp = fieldname(insn, 21, 5); \
5240 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5241 tmp = fieldname(insn, 16, 5); \
5242 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5243 tmp = fieldname(insn, 0, 16); \
5244 MCOperand_CreateImm0(MI, tmp); \
5247 tmp = fieldname(insn, 21, 5); \
5248 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5249 tmp = fieldname(insn, 16, 5); \
5250 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5251 tmp = fieldname(insn, 13, 3); \
5252 if (DecodeFCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5253 tmp = fieldname(insn, 21, 5); \
5254 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5257 if (DecodeJumpTargetMM(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5260 tmp = fieldname(insn, 23, 3); \
5261 if (DecodeGPRMM16RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5262 tmp = fieldname(insn, 0, 23); \
5263 if (DecodeSimm23Lsl2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5266 tmp = fieldname(insn, 16, 5); \
5267 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5268 tmp = fieldname(insn, 21, 5); \
5269 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5270 tmp = fieldname(insn, 0, 16); \
5271 if (DecodeBranchTargetMM(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5274 tmp = fieldname(insn, 11, 5); \
5275 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5276 tmp = fieldname(insn, 16, 5); \
5277 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5278 tmp = fieldname(insn, 6, 5); \
5279 MCOperand_CreateImm0(MI, tmp); \
5282 tmp = fieldname(insn, 11, 5); \
5283 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5284 tmp = fieldname(insn, 21, 5); \
5285 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5286 tmp = fieldname(insn, 18, 3); \
5287 if (DecodeFCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5288 tmp = fieldname(insn, 11, 5); \
5289 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5292 tmp = fieldname(insn, 11, 5); \
5293 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5294 tmp = fieldname(insn, 21, 5); \
5295 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5296 tmp = fieldname(insn, 16, 5); \
5297 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5298 tmp = fieldname(insn, 6, 2); \
5299 if (DecodeLSAImm(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5302 tmp = fieldname(insn, 21, 5); \
5303 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5306 tmp = fieldname(insn, 11, 5); \
5307 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5308 tmp = fieldname(insn, 21, 5); \
5309 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5312 tmp = fieldname(insn, 11, 5); \
5313 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5314 tmp = fieldname(insn, 21, 5); \
5315 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5316 tmp = fieldname(insn, 16, 5); \
5317 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5318 tmp = fieldname(insn, 11, 5); \
5319 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5322 tmp = fieldname(insn, 6, 20); \
5323 MCOperand_CreateImm0(MI, tmp); \
5326 tmp = fieldname(insn, 6, 5); \
5327 MCOperand_CreateImm0(MI, tmp); \
5330 tmp = fieldname(insn, 11, 5); \
5331 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5334 tmp = fieldname(insn, 11, 5); \
5335 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5336 tmp = fieldname(insn, 21, 2); \
5337 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5340 tmp = fieldname(insn, 11, 2); \
5341 if (DecodeHI32DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5342 tmp = fieldname(insn, 21, 5); \
5343 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5346 tmp = fieldname(insn, 11, 2); \
5347 if (DecodeLO32DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5348 tmp = fieldname(insn, 21, 5); \
5349 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5352 tmp = fieldname(insn, 11, 5); \
5353 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5354 tmp = fieldname(insn, 21, 5); \
5355 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5356 tmp = fieldname(insn, 16, 5); \
5357 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5358 tmp = fieldname(insn, 6, 2); \
5359 if (DecodeLSAImm(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5362 tmp = fieldname(insn, 11, 2); \
5363 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5364 tmp = fieldname(insn, 21, 5); \
5365 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5366 tmp = fieldname(insn, 16, 5); \
5367 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5370 tmp = fieldname(insn, 21, 5); \
5371 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5372 tmp = fieldname(insn, 16, 5); \
5373 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5374 tmp = fieldname(insn, 6, 10); \
5375 MCOperand_CreateImm0(MI, tmp); \
5378 tmp = fieldname(insn, 21, 5); \
5379 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5380 tmp = fieldname(insn, 0, 16); \
5381 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5384 tmp = fieldname(insn, 21, 5); \
5385 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5386 tmp = fieldname(insn, 0, 16); \
5387 MCOperand_CreateImm0(MI, tmp); \
5390 tmp = fieldname(insn, 0, 16); \
5391 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5394 if (DecodeSyncI(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5397 if (DecodeJumpTarget(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5400 tmp = fieldname(insn, 21, 5); \
5401 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5402 tmp = fieldname(insn, 16, 5); \
5403 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5404 tmp = fieldname(insn, 0, 16); \
5405 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5408 tmp = fieldname(insn, 16, 5); \
5409 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5410 tmp = fieldname(insn, 21, 5); \
5411 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5412 tmp = fieldname(insn, 0, 16); \
5413 if (DecodeSimm16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5416 tmp = fieldname(insn, 16, 5); \
5417 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5418 tmp = fieldname(insn, 21, 5); \
5419 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5420 tmp = fieldname(insn, 0, 16); \
5421 MCOperand_CreateImm0(MI, tmp); \
5424 tmp = fieldname(insn, 16, 5); \
5425 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5426 tmp = fieldname(insn, 11, 5); \
5427 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5428 tmp = fieldname(insn, 0, 3); \
5429 MCOperand_CreateImm0(MI, tmp); \
5432 tmp = fieldname(insn, 18, 3); \
5433 if (DecodeCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5434 tmp = fieldname(insn, 0, 16); \
5435 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5438 tmp = fieldname(insn, 16, 5); \
5439 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5440 tmp = fieldname(insn, 11, 5); \
5441 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5444 tmp = fieldname(insn, 16, 5); \
5445 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5446 tmp = fieldname(insn, 11, 5); \
5447 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5450 tmp = fieldname(insn, 16, 5); \
5451 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5452 tmp = fieldname(insn, 11, 5); \
5453 if (DecodeCCRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5456 tmp = fieldname(insn, 16, 5); \
5457 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5458 tmp = fieldname(insn, 11, 5); \
5459 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5462 tmp = fieldname(insn, 11, 5); \
5463 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5464 tmp = fieldname(insn, 16, 5); \
5465 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5468 tmp = fieldname(insn, 11, 5); \
5469 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5470 tmp = fieldname(insn, 16, 5); \
5471 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5474 tmp = fieldname(insn, 11, 5); \
5475 if (DecodeCCRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5476 tmp = fieldname(insn, 16, 5); \
5477 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5480 tmp = fieldname(insn, 11, 5); \
5481 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5482 tmp = fieldname(insn, 11, 5); \
5483 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5484 tmp = fieldname(insn, 16, 5); \
5485 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5488 tmp = fieldname(insn, 18, 3); \
5489 if (DecodeFCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5490 tmp = fieldname(insn, 0, 16); \
5491 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5494 tmp = fieldname(insn, 16, 5); \
5495 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5496 tmp = fieldname(insn, 0, 16); \
5497 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5500 tmp = fieldname(insn, 6, 5); \
5501 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5502 tmp = fieldname(insn, 11, 5); \
5503 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5504 tmp = fieldname(insn, 16, 5); \
5505 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5508 tmp = fieldname(insn, 6, 5); \
5509 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5510 tmp = fieldname(insn, 11, 5); \
5511 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5514 tmp = fieldname(insn, 6, 5); \
5515 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5516 tmp = fieldname(insn, 11, 5); \
5517 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5518 tmp = fieldname(insn, 18, 3); \
5519 if (DecodeFCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5520 tmp = fieldname(insn, 6, 5); \
5521 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5524 tmp = fieldname(insn, 6, 5); \
5525 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5526 tmp = fieldname(insn, 11, 5); \
5527 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5528 tmp = fieldname(insn, 16, 5); \
5529 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5530 tmp = fieldname(insn, 6, 5); \
5531 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5534 tmp = fieldname(insn, 6, 5); \
5535 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5536 tmp = fieldname(insn, 11, 5); \
5537 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5540 tmp = fieldname(insn, 6, 5); \
5541 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5542 tmp = fieldname(insn, 11, 5); \
5543 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5546 tmp = fieldname(insn, 11, 5); \
5547 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5548 tmp = fieldname(insn, 16, 5); \
5549 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5552 tmp = fieldname(insn, 6, 5); \
5553 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5554 tmp = fieldname(insn, 11, 5); \
5555 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5556 tmp = fieldname(insn, 16, 5); \
5557 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5560 tmp = fieldname(insn, 6, 5); \
5561 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5562 tmp = fieldname(insn, 11, 5); \
5563 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5566 tmp = fieldname(insn, 6, 5); \
5567 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5568 tmp = fieldname(insn, 11, 5); \
5569 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5572 tmp = fieldname(insn, 6, 5); \
5573 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5574 tmp = fieldname(insn, 11, 5); \
5575 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5576 tmp = fieldname(insn, 18, 3); \
5577 if (DecodeFCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5578 tmp = fieldname(insn, 6, 5); \
5579 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5582 tmp = fieldname(insn, 6, 5); \
5583 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5584 tmp = fieldname(insn, 11, 5); \
5585 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5586 tmp = fieldname(insn, 16, 5); \
5587 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5588 tmp = fieldname(insn, 6, 5); \
5589 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5592 tmp = fieldname(insn, 6, 5); \
5593 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5594 tmp = fieldname(insn, 11, 5); \
5595 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5598 tmp = fieldname(insn, 11, 5); \
5599 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5600 tmp = fieldname(insn, 16, 5); \
5601 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5604 tmp = fieldname(insn, 16, 5); \
5605 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5606 tmp = fieldname(insn, 0, 16); \
5607 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5610 tmp = fieldname(insn, 16, 5); \
5611 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5612 tmp = fieldname(insn, 0, 16); \
5613 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5616 tmp = fieldname(insn, 16, 5); \
5617 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5618 tmp = fieldname(insn, 0, 16); \
5619 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5622 tmp = fieldname(insn, 6, 5); \
5623 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5624 tmp = fieldname(insn, 21, 5); \
5625 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5626 tmp = fieldname(insn, 16, 5); \
5627 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5630 tmp = fieldname(insn, 6, 5); \
5631 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5632 tmp = fieldname(insn, 21, 5); \
5633 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5634 tmp = fieldname(insn, 16, 5); \
5635 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5638 tmp = fieldname(insn, 11, 5); \
5639 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5640 tmp = fieldname(insn, 21, 5); \
5641 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5642 tmp = fieldname(insn, 16, 5); \
5643 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5646 tmp = fieldname(insn, 11, 5); \
5647 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5648 tmp = fieldname(insn, 21, 5); \
5649 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5650 tmp = fieldname(insn, 16, 5); \
5651 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5654 tmp = fieldname(insn, 6, 5); \
5655 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5656 tmp = fieldname(insn, 21, 5); \
5657 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5658 tmp = fieldname(insn, 11, 5); \
5659 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5660 tmp = fieldname(insn, 16, 5); \
5661 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5664 tmp = fieldname(insn, 6, 5); \
5665 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5666 tmp = fieldname(insn, 21, 5); \
5667 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5668 tmp = fieldname(insn, 11, 5); \
5669 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5670 tmp = fieldname(insn, 16, 5); \
5671 if (DecodeAFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5674 tmp = fieldname(insn, 11, 2); \
5675 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5676 tmp = fieldname(insn, 21, 5); \
5677 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5678 tmp = fieldname(insn, 16, 5); \
5679 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5680 tmp = fieldname(insn, 11, 2); \
5681 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5685 tmp |= fieldname(insn, 11, 5) << 0; \
5686 tmp |= fieldname(insn, 16, 5) << 0; \
5687 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5688 tmp = fieldname(insn, 21, 5); \
5689 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5692 tmp = fieldname(insn, 6, 5); \
5693 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5694 tmp = fieldname(insn, 11, 5); \
5695 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5696 tmp = fieldname(insn, 16, 8); \
5697 MCOperand_CreateImm0(MI, tmp); \
5700 tmp = fieldname(insn, 6, 5); \
5701 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5702 tmp = fieldname(insn, 6, 5); \
5703 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5704 tmp = fieldname(insn, 11, 5); \
5705 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5706 tmp = fieldname(insn, 16, 8); \
5707 MCOperand_CreateImm0(MI, tmp); \
5710 tmp = fieldname(insn, 6, 5); \
5711 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5712 tmp = fieldname(insn, 11, 5); \
5713 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5714 tmp = fieldname(insn, 16, 8); \
5715 MCOperand_CreateImm0(MI, tmp); \
5718 tmp = fieldname(insn, 6, 5); \
5719 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5720 tmp = fieldname(insn, 11, 5); \
5721 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5722 tmp = fieldname(insn, 16, 8); \
5723 MCOperand_CreateImm0(MI, tmp); \
5726 tmp = fieldname(insn, 6, 5); \
5727 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5728 tmp = fieldname(insn, 11, 5); \
5729 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5730 tmp = fieldname(insn, 16, 5); \
5731 MCOperand_CreateImm0(MI, tmp); \
5734 tmp = fieldname(insn, 6, 5); \
5735 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5736 tmp = fieldname(insn, 11, 5); \
5737 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5738 tmp = fieldname(insn, 16, 5); \
5739 MCOperand_CreateImm0(MI, tmp); \
5742 tmp = fieldname(insn, 6, 5); \
5743 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5744 tmp = fieldname(insn, 11, 5); \
5745 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5746 tmp = fieldname(insn, 16, 5); \
5747 MCOperand_CreateImm0(MI, tmp); \
5750 tmp = fieldname(insn, 6, 5); \
5751 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5752 tmp = fieldname(insn, 11, 5); \
5753 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5754 tmp = fieldname(insn, 16, 5); \
5755 MCOperand_CreateImm0(MI, tmp); \
5758 tmp = fieldname(insn, 6, 5); \
5759 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5760 tmp = fieldname(insn, 11, 10); \
5761 MCOperand_CreateImm0(MI, tmp); \
5764 tmp = fieldname(insn, 6, 5); \
5765 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5766 tmp = fieldname(insn, 11, 10); \
5767 MCOperand_CreateImm0(MI, tmp); \
5770 tmp = fieldname(insn, 6, 5); \
5771 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5772 tmp = fieldname(insn, 11, 10); \
5773 MCOperand_CreateImm0(MI, tmp); \
5776 tmp = fieldname(insn, 6, 5); \
5777 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5778 tmp = fieldname(insn, 11, 10); \
5779 MCOperand_CreateImm0(MI, tmp); \
5782 tmp = fieldname(insn, 6, 5); \
5783 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5784 tmp = fieldname(insn, 11, 5); \
5785 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5786 tmp = fieldname(insn, 16, 6); \
5787 MCOperand_CreateImm0(MI, tmp); \
5790 tmp = fieldname(insn, 6, 5); \
5791 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5792 tmp = fieldname(insn, 11, 5); \
5793 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5794 tmp = fieldname(insn, 16, 4); \
5795 MCOperand_CreateImm0(MI, tmp); \
5798 tmp = fieldname(insn, 6, 5); \
5799 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5800 tmp = fieldname(insn, 11, 5); \
5801 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5802 tmp = fieldname(insn, 16, 3); \
5803 MCOperand_CreateImm0(MI, tmp); \
5806 tmp = fieldname(insn, 6, 5); \
5807 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5808 tmp = fieldname(insn, 6, 5); \
5809 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5810 tmp = fieldname(insn, 11, 5); \
5811 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5812 tmp = fieldname(insn, 16, 6); \
5813 MCOperand_CreateImm0(MI, tmp); \
5816 tmp = fieldname(insn, 6, 5); \
5817 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5818 tmp = fieldname(insn, 6, 5); \
5819 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5820 tmp = fieldname(insn, 11, 5); \
5821 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5822 tmp = fieldname(insn, 16, 5); \
5823 MCOperand_CreateImm0(MI, tmp); \
5826 tmp = fieldname(insn, 6, 5); \
5827 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5828 tmp = fieldname(insn, 6, 5); \
5829 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5830 tmp = fieldname(insn, 11, 5); \
5831 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5832 tmp = fieldname(insn, 16, 4); \
5833 MCOperand_CreateImm0(MI, tmp); \
5836 tmp = fieldname(insn, 6, 5); \
5837 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5838 tmp = fieldname(insn, 6, 5); \
5839 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5840 tmp = fieldname(insn, 11, 5); \
5841 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5842 tmp = fieldname(insn, 16, 3); \
5843 MCOperand_CreateImm0(MI, tmp); \
5846 tmp = fieldname(insn, 6, 5); \
5847 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5848 tmp = fieldname(insn, 11, 5); \
5849 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5850 tmp = fieldname(insn, 16, 5); \
5851 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5854 tmp = fieldname(insn, 6, 5); \
5855 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5856 tmp = fieldname(insn, 11, 5); \
5857 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5858 tmp = fieldname(insn, 16, 5); \
5859 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5862 tmp = fieldname(insn, 6, 5); \
5863 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5864 tmp = fieldname(insn, 11, 5); \
5865 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5866 tmp = fieldname(insn, 16, 5); \
5867 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5870 tmp = fieldname(insn, 6, 5); \
5871 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5872 tmp = fieldname(insn, 11, 5); \
5873 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5874 tmp = fieldname(insn, 16, 5); \
5875 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5878 tmp = fieldname(insn, 6, 5); \
5879 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5880 tmp = fieldname(insn, 6, 5); \
5881 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5882 tmp = fieldname(insn, 11, 5); \
5883 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5884 tmp = fieldname(insn, 16, 5); \
5885 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5888 tmp = fieldname(insn, 6, 5); \
5889 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5890 tmp = fieldname(insn, 6, 5); \
5891 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5892 tmp = fieldname(insn, 11, 5); \
5893 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5894 tmp = fieldname(insn, 16, 5); \
5895 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5898 tmp = fieldname(insn, 6, 5); \
5899 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5900 tmp = fieldname(insn, 6, 5); \
5901 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5902 tmp = fieldname(insn, 11, 5); \
5903 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5904 tmp = fieldname(insn, 16, 5); \
5905 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5908 tmp = fieldname(insn, 6, 5); \
5909 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5910 tmp = fieldname(insn, 6, 5); \
5911 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5912 tmp = fieldname(insn, 11, 5); \
5913 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5914 tmp = fieldname(insn, 16, 5); \
5915 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5918 tmp = fieldname(insn, 6, 5); \
5919 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5920 tmp = fieldname(insn, 11, 5); \
5921 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5922 tmp = fieldname(insn, 16, 5); \
5923 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5926 tmp = fieldname(insn, 6, 5); \
5927 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5928 tmp = fieldname(insn, 11, 5); \
5929 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5930 tmp = fieldname(insn, 16, 5); \
5931 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5934 tmp = fieldname(insn, 6, 5); \
5935 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5936 tmp = fieldname(insn, 11, 5); \
5937 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5938 tmp = fieldname(insn, 16, 5); \
5939 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5942 tmp = fieldname(insn, 6, 5); \
5943 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5944 tmp = fieldname(insn, 6, 5); \
5945 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5946 tmp = fieldname(insn, 11, 5); \
5947 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5948 tmp = fieldname(insn, 16, 5); \
5949 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5952 tmp = fieldname(insn, 6, 5); \
5953 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5954 tmp = fieldname(insn, 6, 5); \
5955 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5956 tmp = fieldname(insn, 11, 5); \
5957 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5958 tmp = fieldname(insn, 16, 5); \
5959 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5962 tmp = fieldname(insn, 6, 5); \
5963 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5964 tmp = fieldname(insn, 6, 5); \
5965 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5966 tmp = fieldname(insn, 11, 5); \
5967 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5968 tmp = fieldname(insn, 16, 5); \
5969 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5972 tmp = fieldname(insn, 6, 5); \
5973 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5974 tmp = fieldname(insn, 6, 5); \
5975 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5976 tmp = fieldname(insn, 11, 5); \
5977 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5978 tmp = fieldname(insn, 16, 5); \
5979 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5982 tmp = fieldname(insn, 6, 5); \
5983 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5984 tmp = fieldname(insn, 6, 5); \
5985 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5986 tmp = fieldname(insn, 11, 5); \
5987 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5988 tmp = fieldname(insn, 16, 5); \
5989 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5992 tmp = fieldname(insn, 6, 5); \
5993 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5994 tmp = fieldname(insn, 6, 5); \
5995 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5996 tmp = fieldname(insn, 11, 5); \
5997 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
5998 tmp = fieldname(insn, 16, 5); \
5999 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6002 tmp = fieldname(insn, 6, 5); \
6003 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6004 tmp = fieldname(insn, 6, 5); \
6005 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6006 tmp = fieldname(insn, 11, 5); \
6007 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6008 tmp = fieldname(insn, 16, 5); \
6009 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6012 tmp = fieldname(insn, 6, 5); \
6013 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6014 tmp = fieldname(insn, 11, 5); \
6015 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6016 tmp = fieldname(insn, 16, 5); \
6017 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6020 tmp = fieldname(insn, 6, 5); \
6021 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6022 tmp = fieldname(insn, 11, 5); \
6023 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6024 tmp = fieldname(insn, 16, 5); \
6025 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6028 tmp = fieldname(insn, 6, 5); \
6029 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6030 tmp = fieldname(insn, 11, 5); \
6031 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6032 tmp = fieldname(insn, 16, 5); \
6033 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6036 tmp = fieldname(insn, 6, 5); \
6037 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6038 tmp = fieldname(insn, 11, 5); \
6039 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6040 tmp = fieldname(insn, 16, 5); \
6041 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6044 tmp = fieldname(insn, 6, 5); \
6045 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6046 tmp = fieldname(insn, 6, 5); \
6047 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6048 tmp = fieldname(insn, 11, 5); \
6049 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6050 tmp = fieldname(insn, 16, 4); \
6051 MCOperand_CreateImm0(MI, tmp); \
6054 tmp = fieldname(insn, 6, 5); \
6055 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6056 tmp = fieldname(insn, 6, 5); \
6057 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6058 tmp = fieldname(insn, 11, 5); \
6059 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6060 tmp = fieldname(insn, 16, 3); \
6061 MCOperand_CreateImm0(MI, tmp); \
6064 tmp = fieldname(insn, 6, 5); \
6065 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6066 tmp = fieldname(insn, 6, 5); \
6067 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6068 tmp = fieldname(insn, 11, 5); \
6069 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6070 tmp = fieldname(insn, 16, 2); \
6071 MCOperand_CreateImm0(MI, tmp); \
6074 tmp = fieldname(insn, 6, 5); \
6075 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6076 tmp = fieldname(insn, 6, 5); \
6077 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6078 tmp = fieldname(insn, 11, 5); \
6079 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6080 tmp = fieldname(insn, 16, 1); \
6081 MCOperand_CreateImm0(MI, tmp); \
6084 tmp = fieldname(insn, 6, 5); \
6085 if (DecodeMSACtrlRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6086 tmp = fieldname(insn, 11, 5); \
6087 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6090 tmp = fieldname(insn, 6, 5); \
6091 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6092 tmp = fieldname(insn, 11, 5); \
6093 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6094 tmp = fieldname(insn, 16, 4); \
6095 MCOperand_CreateImm0(MI, tmp); \
6098 tmp = fieldname(insn, 6, 5); \
6099 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6100 tmp = fieldname(insn, 11, 5); \
6101 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6102 tmp = fieldname(insn, 16, 3); \
6103 MCOperand_CreateImm0(MI, tmp); \
6106 tmp = fieldname(insn, 6, 5); \
6107 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6108 tmp = fieldname(insn, 11, 5); \
6109 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6110 tmp = fieldname(insn, 16, 2); \
6111 MCOperand_CreateImm0(MI, tmp); \
6114 tmp = fieldname(insn, 6, 5); \
6115 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6116 tmp = fieldname(insn, 11, 5); \
6117 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6118 tmp = fieldname(insn, 16, 1); \
6119 MCOperand_CreateImm0(MI, tmp); \
6122 tmp = fieldname(insn, 6, 5); \
6123 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6124 tmp = fieldname(insn, 11, 5); \
6125 if (DecodeMSACtrlRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6128 tmp = fieldname(insn, 6, 5); \
6129 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6130 tmp = fieldname(insn, 11, 5); \
6131 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6132 tmp = fieldname(insn, 16, 4); \
6133 MCOperand_CreateImm0(MI, tmp); \
6136 tmp = fieldname(insn, 6, 5); \
6137 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6138 tmp = fieldname(insn, 11, 5); \
6139 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6140 tmp = fieldname(insn, 16, 3); \
6141 MCOperand_CreateImm0(MI, tmp); \
6144 tmp = fieldname(insn, 6, 5); \
6145 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6146 tmp = fieldname(insn, 11, 5); \
6147 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6148 tmp = fieldname(insn, 16, 2); \
6149 MCOperand_CreateImm0(MI, tmp); \
6152 tmp = fieldname(insn, 6, 5); \
6153 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6154 tmp = fieldname(insn, 11, 5); \
6155 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6156 tmp = fieldname(insn, 16, 1); \
6157 MCOperand_CreateImm0(MI, tmp); \
6160 tmp = fieldname(insn, 6, 5); \
6161 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6162 tmp = fieldname(insn, 11, 5); \
6163 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6166 tmp = fieldname(insn, 6, 5); \
6167 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6168 tmp = fieldname(insn, 6, 5); \
6169 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6170 tmp = fieldname(insn, 11, 5); \
6171 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6172 tmp = fieldname(insn, 16, 4); \
6173 MCOperand_CreateImm0(MI, tmp); \
6176 tmp = fieldname(insn, 6, 5); \
6177 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6178 tmp = fieldname(insn, 6, 5); \
6179 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6180 tmp = fieldname(insn, 11, 5); \
6181 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6182 tmp = fieldname(insn, 16, 3); \
6183 MCOperand_CreateImm0(MI, tmp); \
6186 tmp = fieldname(insn, 6, 5); \
6187 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6188 tmp = fieldname(insn, 6, 5); \
6189 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6190 tmp = fieldname(insn, 11, 5); \
6191 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6192 tmp = fieldname(insn, 16, 2); \
6193 MCOperand_CreateImm0(MI, tmp); \
6196 tmp = fieldname(insn, 6, 5); \
6197 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6198 tmp = fieldname(insn, 6, 5); \
6199 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6200 tmp = fieldname(insn, 11, 5); \
6201 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6202 tmp = fieldname(insn, 16, 1); \
6203 MCOperand_CreateImm0(MI, tmp); \
6206 if (DecodeINSVE_DF_4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6209 tmp = fieldname(insn, 6, 5); \
6210 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6211 tmp = fieldname(insn, 11, 5); \
6212 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6213 tmp = fieldname(insn, 16, 5); \
6214 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6217 tmp = fieldname(insn, 6, 5); \
6218 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6219 tmp = fieldname(insn, 11, 5); \
6220 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6221 tmp = fieldname(insn, 16, 5); \
6222 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6225 tmp = fieldname(insn, 6, 5); \
6226 if (DecodeMSA128BRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6227 tmp = fieldname(insn, 11, 5); \
6228 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6231 tmp = fieldname(insn, 6, 5); \
6232 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6233 tmp = fieldname(insn, 11, 5); \
6234 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6237 tmp = fieldname(insn, 6, 5); \
6238 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6239 tmp = fieldname(insn, 11, 5); \
6240 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6243 tmp = fieldname(insn, 6, 5); \
6244 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6245 tmp = fieldname(insn, 11, 5); \
6246 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6249 tmp = fieldname(insn, 6, 5); \
6250 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6251 tmp = fieldname(insn, 11, 5); \
6252 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6255 tmp = fieldname(insn, 6, 5); \
6256 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6257 tmp = fieldname(insn, 11, 5); \
6258 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6261 tmp = fieldname(insn, 6, 5); \
6262 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6263 tmp = fieldname(insn, 11, 5); \
6264 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6267 tmp = fieldname(insn, 6, 5); \
6268 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6269 tmp = fieldname(insn, 11, 5); \
6270 if (DecodeMSA128HRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6273 tmp = fieldname(insn, 6, 5); \
6274 if (DecodeMSA128DRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6275 tmp = fieldname(insn, 11, 5); \
6276 if (DecodeMSA128WRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6279 if (DecodeMSA128Mem(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6282 tmp = fieldname(insn, 16, 5); \
6283 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6284 tmp = fieldname(insn, 21, 5); \
6285 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6286 tmp = fieldname(insn, 6, 5); \
6287 MCOperand_CreateImm0(MI, tmp); \
6288 tmp = fieldname(insn, 11, 5); \
6289 if (DecodeExtSize(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6292 tmp = fieldname(insn, 16, 5); \
6293 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6294 tmp = fieldname(insn, 21, 5); \
6295 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6296 tmp = fieldname(insn, 6, 5); \
6297 MCOperand_CreateImm0(MI, tmp); \
6298 tmp = fieldname(insn, 11, 5); \
6299 if (DecodeInsSize(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6300 tmp = fieldname(insn, 16, 5); \
6301 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6304 tmp = fieldname(insn, 11, 5); \
6305 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6306 tmp = fieldname(insn, 21, 5); \
6307 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6308 tmp = fieldname(insn, 16, 5); \
6309 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6312 tmp = fieldname(insn, 16, 5); \
6313 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6314 tmp = fieldname(insn, 16, 5); \
6315 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6316 tmp = fieldname(insn, 21, 5); \
6317 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6320 tmp = fieldname(insn, 11, 5); \
6321 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6322 tmp = fieldname(insn, 21, 5); \
6323 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6324 tmp = fieldname(insn, 16, 5); \
6325 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6328 tmp = fieldname(insn, 11, 5); \
6329 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6330 tmp = fieldname(insn, 21, 5); \
6331 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6334 tmp = fieldname(insn, 11, 5); \
6335 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6336 tmp = fieldname(insn, 21, 5); \
6337 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6338 tmp = fieldname(insn, 16, 5); \
6339 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6342 tmp = fieldname(insn, 21, 5); \
6343 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6344 tmp = fieldname(insn, 16, 5); \
6345 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6348 tmp = fieldname(insn, 11, 5); \
6349 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6350 tmp = fieldname(insn, 21, 5); \
6351 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6352 tmp = fieldname(insn, 16, 5); \
6353 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6356 tmp = fieldname(insn, 16, 5); \
6357 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6358 tmp = fieldname(insn, 21, 5); \
6359 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6360 tmp = fieldname(insn, 11, 5); \
6361 MCOperand_CreateImm0(MI, tmp); \
6362 tmp = fieldname(insn, 16, 5); \
6363 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6366 tmp = fieldname(insn, 11, 5); \
6367 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6368 tmp = fieldname(insn, 16, 5); \
6369 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6372 tmp = fieldname(insn, 11, 5); \
6373 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6374 tmp = fieldname(insn, 16, 10); \
6375 MCOperand_CreateImm0(MI, tmp); \
6378 tmp = fieldname(insn, 11, 5); \
6379 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6380 tmp = fieldname(insn, 16, 5); \
6381 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6384 tmp = fieldname(insn, 11, 5); \
6385 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6386 tmp = fieldname(insn, 16, 5); \
6387 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6390 tmp = fieldname(insn, 11, 5); \
6391 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6392 tmp = fieldname(insn, 16, 5); \
6393 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6396 tmp = fieldname(insn, 11, 5); \
6397 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6398 tmp = fieldname(insn, 16, 5); \
6399 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6400 tmp = fieldname(insn, 21, 5); \
6401 MCOperand_CreateImm0(MI, tmp); \
6404 tmp = fieldname(insn, 11, 5); \
6405 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6406 tmp = fieldname(insn, 16, 5); \
6407 if (DecodeDSPRRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6408 tmp = fieldname(insn, 21, 5); \
6409 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6412 tmp = fieldname(insn, 11, 5); \
6413 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6414 tmp = fieldname(insn, 16, 5); \
6415 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6416 tmp = fieldname(insn, 21, 5); \
6417 MCOperand_CreateImm0(MI, tmp); \
6420 tmp = fieldname(insn, 16, 5); \
6421 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6422 tmp = fieldname(insn, 21, 5); \
6423 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6424 tmp = fieldname(insn, 11, 5); \
6425 MCOperand_CreateImm0(MI, tmp); \
6426 tmp = fieldname(insn, 16, 5); \
6427 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6430 tmp = fieldname(insn, 16, 5); \
6431 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6432 tmp = fieldname(insn, 11, 2); \
6433 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6434 tmp = fieldname(insn, 21, 5); \
6435 MCOperand_CreateImm0(MI, tmp); \
6438 tmp = fieldname(insn, 16, 5); \
6439 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6440 tmp = fieldname(insn, 11, 2); \
6441 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6442 tmp = fieldname(insn, 21, 5); \
6443 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6446 tmp = fieldname(insn, 11, 5); \
6447 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6448 tmp = fieldname(insn, 16, 10); \
6449 MCOperand_CreateImm0(MI, tmp); \
6452 tmp = fieldname(insn, 21, 5); \
6453 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6454 tmp = fieldname(insn, 11, 10); \
6455 MCOperand_CreateImm0(MI, tmp); \
6458 tmp = fieldname(insn, 11, 2); \
6459 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6460 tmp = fieldname(insn, 20, 6); \
6461 if (DecodeSimm16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6462 tmp = fieldname(insn, 11, 2); \
6463 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6466 tmp = fieldname(insn, 11, 2); \
6467 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6468 tmp = fieldname(insn, 21, 5); \
6469 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6470 tmp = fieldname(insn, 11, 2); \
6471 if (DecodeACC64DSPRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6474 tmp = fieldname(insn, 16, 5); \
6475 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6476 tmp = fieldname(insn, 11, 5); \
6477 if (DecodeHWRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6480 if (DecodeMem(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6483 if (DecodeCacheOp(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6486 if (DecodeFMem(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6489 if (DecodeFMem2(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6492 tmp = fieldname(insn, 11, 5); \
6493 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6494 tmp = fieldname(insn, 21, 5); \
6495 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6496 tmp = fieldname(insn, 16, 5); \
6497 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6498 tmp = fieldname(insn, 6, 2); \
6499 MCOperand_CreateImm0(MI, tmp); \
6502 tmp = fieldname(insn, 11, 5); \
6503 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6504 tmp = fieldname(insn, 21, 5); \
6505 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6508 tmp = fieldname(insn, 11, 5); \
6509 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6510 tmp = fieldname(insn, 21, 5); \
6511 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6512 tmp = fieldname(insn, 16, 5); \
6513 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6514 tmp = fieldname(insn, 6, 2); \
6515 MCOperand_CreateImm0(MI, tmp); \
6518 tmp = fieldname(insn, 11, 5); \
6519 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6520 tmp = fieldname(insn, 21, 5); \
6521 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6522 tmp = fieldname(insn, 16, 5); \
6523 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6526 tmp = fieldname(insn, 21, 5); \
6527 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6528 tmp = fieldname(insn, 21, 5); \
6529 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6530 tmp = fieldname(insn, 0, 16); \
6531 if (DecodeSimm16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6534 if (DecodeBlezGroupBranch_4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6537 if (DecodeBgtzGroupBranch_4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6540 if (DecodeAddiGroupBranch_4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6543 tmp = fieldname(insn, 16, 5); \
6544 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6545 tmp = fieldname(insn, 0, 16); \
6546 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6549 tmp = fieldname(insn, 6, 5); \
6550 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6551 tmp = fieldname(insn, 6, 5); \
6552 if (DecodeFGRCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6553 tmp = fieldname(insn, 11, 5); \
6554 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6555 tmp = fieldname(insn, 16, 5); \
6556 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6559 tmp = fieldname(insn, 6, 5); \
6560 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6561 tmp = fieldname(insn, 6, 5); \
6562 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6563 tmp = fieldname(insn, 11, 5); \
6564 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6565 tmp = fieldname(insn, 16, 5); \
6566 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6569 tmp = fieldname(insn, 6, 5); \
6570 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6571 tmp = fieldname(insn, 6, 5); \
6572 if (DecodeFGRCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6573 tmp = fieldname(insn, 11, 5); \
6574 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6575 tmp = fieldname(insn, 16, 5); \
6576 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6579 tmp = fieldname(insn, 6, 5); \
6580 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6581 tmp = fieldname(insn, 11, 5); \
6582 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6583 tmp = fieldname(insn, 16, 5); \
6584 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6587 tmp = fieldname(insn, 6, 5); \
6588 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6589 tmp = fieldname(insn, 6, 5); \
6590 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6591 tmp = fieldname(insn, 11, 5); \
6592 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6593 tmp = fieldname(insn, 16, 5); \
6594 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6597 tmp = fieldname(insn, 6, 5); \
6598 if (DecodeFGRCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6599 tmp = fieldname(insn, 11, 5); \
6600 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6601 tmp = fieldname(insn, 16, 5); \
6602 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6605 tmp = fieldname(insn, 6, 5); \
6606 if (DecodeFGRCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6607 tmp = fieldname(insn, 11, 5); \
6608 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6609 tmp = fieldname(insn, 16, 5); \
6610 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6613 tmp = fieldname(insn, 16, 5); \
6614 if (DecodeCOP2RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6615 tmp = fieldname(insn, 0, 16); \
6616 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6619 if (DecodeFMemCop2R6(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6622 if (DecodeBlezlGroupBranch_4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6625 if (DecodeBgtzlGroupBranch_4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6628 if (DecodeDaddiGroupBranch_4(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6631 tmp = fieldname(insn, 21, 5); \
6632 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6633 tmp = fieldname(insn, 16, 5); \
6634 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6635 tmp = fieldname(insn, 0, 16); \
6636 if (DecodeSimm16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6639 tmp = fieldname(insn, 11, 5); \
6640 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6641 tmp = fieldname(insn, 16, 5); \
6642 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6645 tmp = fieldname(insn, 11, 5); \
6646 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6647 tmp = fieldname(insn, 21, 5); \
6648 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6649 tmp = fieldname(insn, 16, 5); \
6650 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6651 tmp = fieldname(insn, 6, 3); \
6652 MCOperand_CreateImm0(MI, tmp); \
6655 if (DecodeCacheOpR6(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6658 if (DecodeSpecial3LlSc(MI, insn, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6661 tmp = fieldname(insn, 0, 26); \
6662 if (DecodeBranchTarget26(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6665 tmp = fieldname(insn, 21, 5); \
6666 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6667 tmp = fieldname(insn, 0, 21); \
6668 if (DecodeBranchTarget21(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6671 tmp = fieldname(insn, 21, 5); \
6672 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6673 tmp = fieldname(insn, 0, 19); \
6674 if (DecodeSimm19Lsl2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6677 tmp = fieldname(insn, 21, 5); \
6678 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6679 tmp = fieldname(insn, 0, 18); \
6680 if (DecodeSimm18Lsl3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6683 tmp = fieldname(insn, 21, 5); \
6684 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6685 tmp = fieldname(insn, 0, 16); \
6686 if (DecodeSimm16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6689 tmp = fieldname(insn, 11, 5); \
6690 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6691 tmp = fieldname(insn, 16, 5); \
6692 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6693 tmp = fieldname(insn, 21, 5); \
6694 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6697 tmp = fieldname(insn, 21, 5); \
6698 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6699 tmp = fieldname(insn, 16, 5); \
6700 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6703 tmp = fieldname(insn, 11, 5); \
6704 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6705 tmp = fieldname(insn, 16, 5); \
6706 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6707 tmp = fieldname(insn, 6, 5); \
6708 MCOperand_CreateImm0(MI, tmp); \
6711 tmp = fieldname(insn, 16, 5); \
6712 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6713 tmp = fieldname(insn, 11, 5); \
6714 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6715 tmp = fieldname(insn, 0, 3); \
6716 MCOperand_CreateImm0(MI, tmp); \
6719 tmp = fieldname(insn, 16, 5); \
6720 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6721 tmp = fieldname(insn, 11, 5); \
6722 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6725 tmp = fieldname(insn, 11, 5); \
6726 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6727 tmp = fieldname(insn, 11, 5); \
6728 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6729 tmp = fieldname(insn, 16, 5); \
6730 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6733 tmp = fieldname(insn, 6, 5); \
6734 if (DecodeFGR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6735 tmp = fieldname(insn, 11, 5); \
6736 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6739 tmp = fieldname(insn, 6, 5); \
6740 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6741 tmp = fieldname(insn, 11, 5); \
6742 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6743 tmp = fieldname(insn, 18, 3); \
6744 if (DecodeFCCRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6745 tmp = fieldname(insn, 6, 5); \
6746 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6749 tmp = fieldname(insn, 6, 5); \
6750 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6751 tmp = fieldname(insn, 11, 5); \
6752 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6753 tmp = fieldname(insn, 16, 5); \
6754 if (DecodeGPR32RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6755 tmp = fieldname(insn, 6, 5); \
6756 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6759 tmp = fieldname(insn, 11, 5); \
6760 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6761 tmp = fieldname(insn, 16, 5); \
6762 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6765 tmp = fieldname(insn, 6, 5); \
6766 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6767 tmp = fieldname(insn, 21, 5); \
6768 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6769 tmp = fieldname(insn, 16, 5); \
6770 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6773 tmp = fieldname(insn, 11, 5); \
6774 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6775 tmp = fieldname(insn, 21, 5); \
6776 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6777 tmp = fieldname(insn, 16, 5); \
6778 if (DecodePtrRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6781 tmp = fieldname(insn, 6, 5); \
6782 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6783 tmp = fieldname(insn, 21, 5); \
6784 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6785 tmp = fieldname(insn, 11, 5); \
6786 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6787 tmp = fieldname(insn, 16, 5); \
6788 if (DecodeFGR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6791 tmp = fieldname(insn, 16, 5); \
6792 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6793 tmp = fieldname(insn, 21, 5); \
6794 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6795 tmp = fieldname(insn, 0, 16); \
6796 if (DecodeSimm16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6799 tmp = fieldname(insn, 21, 5); \
6800 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6804 tmp |= fieldname(insn, 11, 5) << 0; \
6805 tmp |= fieldname(insn, 16, 5) << 0; \
6806 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6807 tmp = fieldname(insn, 21, 5); \
6808 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6811 tmp = fieldname(insn, 16, 5); \
6812 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6813 tmp = fieldname(insn, 21, 5); \
6814 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6815 tmp = fieldname(insn, 6, 10); \
6816 MCOperand_CreateImm0(MI, tmp); \
6819 tmp = fieldname(insn, 16, 5); \
6820 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6821 tmp = fieldname(insn, 21, 5); \
6822 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6823 tmp = fieldname(insn, 6, 5); \
6824 MCOperand_CreateImm0(MI, tmp); \
6825 tmp = fieldname(insn, 11, 5); \
6826 MCOperand_CreateImm0(MI, tmp); \
6829 tmp = fieldname(insn, 16, 5); \
6830 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6831 tmp = fieldname(insn, 21, 5); \
6832 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6833 tmp = fieldname(insn, 6, 5); \
6834 MCOperand_CreateImm0(MI, tmp); \
6835 tmp = fieldname(insn, 11, 5); \
6836 if (DecodeExtSize(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6839 tmp = fieldname(insn, 16, 5); \
6840 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6841 tmp = fieldname(insn, 21, 5); \
6842 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6843 tmp = fieldname(insn, 6, 5); \
6844 MCOperand_CreateImm0(MI, tmp); \
6845 tmp = fieldname(insn, 11, 5); \
6846 if (DecodeInsSize(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6847 tmp = fieldname(insn, 16, 5); \
6848 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6851 tmp = fieldname(insn, 21, 5); \
6852 if (DecodeGPR64RegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6853 tmp = fieldname(insn, 16, 5); \
6854 MCOperand_CreateImm0(MI, tmp); \
6855 tmp = fieldname(insn, 0, 16); \
6856 if (DecodeBranchTarget(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
6861 #define DecodeInstruction(fname, fieldname, decoder, InsnType) \
6862 static DecodeStatus fname(const uint8_t DecodeTable[], MCInst *MI, \
6863 InsnType insn, uint64_t Address, MCRegisterInfo *MRI, int feature) \
6865 uint64_t Bits = getFeatureBits(feature); \
6866 const uint8_t *Ptr = DecodeTable; \
6867 uint32_t CurFieldValue = 0, ExpectedValue; \
6868 DecodeStatus S = MCDisassembler_Success; \
6869 unsigned Start, Len, NumToSkip, PIdx, Opc, DecodeIdx; \
6870 InsnType Val, FieldValue, PositiveMask, NegativeMask; \
6875 return MCDisassembler_Fail; \
6876 case MCD_OPC_ExtractField: { \
6880 CurFieldValue = (uint32_t)fieldname(insn, Start, Len); \
6883 case MCD_OPC_FilterValue: { \
6884 Val = (InsnType)decodeULEB128(++Ptr, &Len); \
6886 NumToSkip = *Ptr++; \
6887 NumToSkip |= (*Ptr++) << 8; \
6888 if (Val != CurFieldValue) \
6892 case MCD_OPC_CheckField: { \
6895 FieldValue = fieldname(insn, Start, Len); \
6896 ExpectedValue = (uint32_t)decodeULEB128(++Ptr, &Len); \
6898 NumToSkip = *Ptr++; \
6899 NumToSkip |= (*Ptr++) << 8; \
6900 if (ExpectedValue != FieldValue) \
6904 case MCD_OPC_CheckPredicate: { \
6905 PIdx = (uint32_t)decodeULEB128(++Ptr, &Len); \
6907 NumToSkip = *Ptr++; \
6908 NumToSkip |= (*Ptr++) << 8; \
6909 Pred = checkDecoderPredicate(PIdx, Bits); \
6915 case MCD_OPC_Decode: { \
6916 Opc = (unsigned)decodeULEB128(++Ptr, &Len); \
6918 DecodeIdx = (unsigned)decodeULEB128(Ptr, &Len); \
6920 MCInst_setOpcode(MI, Opc); \
6921 return decoder(S, DecodeIdx, insn, MI, Address, MRI); \
6923 case MCD_OPC_SoftFail: { \
6924 PositiveMask = (InsnType)decodeULEB128(++Ptr, &Len); \
6926 NegativeMask = (InsnType)decodeULEB128(Ptr, &Len); \
6928 Fail = (insn & PositiveMask) || (~insn & NegativeMask); \
6930 S = MCDisassembler_SoftFail; \
6933 case MCD_OPC_Fail: { \
6934 return MCDisassembler_Fail; \
6940 FieldFromInstruction(fieldFromInstruction,
uint32_t)
6941 DecodeToMCInst(decodeToMCInst, fieldFromInstruction,
uint32_t)
int decodeInstruction(struct InternalInstruction *insn, byteReader_t reader, const void *readerArg, uint64_t startLoc, DisassemblerMode mode)