Lines Matching refs:Insn

278 static DecodeStatus DecodeBitfieldMaskOperand(MCInst &Inst, unsigned Insn,
281 static DecodeStatus DecodeCopMemInstruction(MCInst &Inst, unsigned Insn,
285 DecodeAddrMode2IdxInstruction(MCInst &Inst, unsigned Insn, uint64_t Address,
287 static DecodeStatus DecodeSORegMemOperand(MCInst &Inst, unsigned Insn,
290 static DecodeStatus DecodeAddrMode3Instruction(MCInst &Inst, unsigned Insn,
293 static DecodeStatus DecodeTSBInstruction(MCInst &Inst, unsigned Insn,
296 static DecodeStatus DecodeSORegImmOperand(MCInst &Inst, unsigned Insn,
299 static DecodeStatus DecodeSORegRegOperand(MCInst &Inst, unsigned Insn,
304 DecodeMemMultipleWritebackInstruction(MCInst &Inst, unsigned Insn,
307 static DecodeStatus DecodeT2MOVTWInstruction(MCInst &Inst, unsigned Insn,
310 static DecodeStatus DecodeArmMOVTWInstruction(MCInst &Inst, unsigned Insn,
313 static DecodeStatus DecodeSMLAInstruction(MCInst &Inst, unsigned Insn,
316 static DecodeStatus DecodeHINTInstruction(MCInst &Inst, unsigned Insn,
319 static DecodeStatus DecodeCPSInstruction(MCInst &Inst, unsigned Insn,
322 static DecodeStatus DecodeTSTInstruction(MCInst &Inst, unsigned Insn,
325 static DecodeStatus DecodeSETPANInstruction(MCInst &Inst, unsigned Insn,
328 static DecodeStatus DecodeT2CPSInstruction(MCInst &Inst, unsigned Insn,
331 static DecodeStatus DecodeT2HintSpaceInstruction(MCInst &Inst, unsigned Insn,
346 static DecodeStatus DecodeT2BInstruction(MCInst &Inst, unsigned Insn,
349 static DecodeStatus DecodeBranchImmInstruction(MCInst &Inst, unsigned Insn,
391 static DecodeStatus DecodeMVEVADCInstruction(MCInst &Inst, unsigned Insn,
409 static DecodeStatus DecodeTBLInstruction(MCInst &Inst, unsigned Insn,
412 static DecodeStatus DecodePostIdxReg(MCInst &Inst, unsigned Insn,
415 static DecodeStatus DecodeMveAddrModeRQ(MCInst &Inst, unsigned Insn,
419 static DecodeStatus DecodeMveAddrModeQ(MCInst &Inst, unsigned Insn,
422 static DecodeStatus DecodeCoprocessor(MCInst &Inst, unsigned Insn,
425 static DecodeStatus DecodeMemBarrierOption(MCInst &Inst, unsigned Insn,
428 static DecodeStatus DecodeInstSyncBarrierOption(MCInst &Inst, unsigned Insn,
431 static DecodeStatus DecodeMSRMask(MCInst &Inst, unsigned Insn, uint64_t Address,
433 static DecodeStatus DecodeBankedReg(MCInst &Inst, unsigned Insn,
436 static DecodeStatus DecodeDoubleRegLoad(MCInst &Inst, unsigned Insn,
439 static DecodeStatus DecodeDoubleRegStore(MCInst &Inst, unsigned Insn,
442 static DecodeStatus DecodeLDRPreImm(MCInst &Inst, unsigned Insn,
445 static DecodeStatus DecodeLDRPreReg(MCInst &Inst, unsigned Insn,
448 static DecodeStatus DecodeSTRPreImm(MCInst &Inst, unsigned Insn,
451 static DecodeStatus DecodeSTRPreReg(MCInst &Inst, unsigned Insn,
454 static DecodeStatus DecodeVLD1LN(MCInst &Inst, unsigned Insn, uint64_t Address,
456 static DecodeStatus DecodeVLD2LN(MCInst &Inst, unsigned Insn, uint64_t Address,
458 static DecodeStatus DecodeVLD3LN(MCInst &Inst, unsigned Insn, uint64_t Address,
460 static DecodeStatus DecodeVLD4LN(MCInst &Inst, unsigned Insn, uint64_t Address,
462 static DecodeStatus DecodeVST1LN(MCInst &Inst, unsigned Insn, uint64_t Address,
464 static DecodeStatus DecodeVST2LN(MCInst &Inst, unsigned Insn, uint64_t Address,
466 static DecodeStatus DecodeVST3LN(MCInst &Inst, unsigned Insn, uint64_t Address,
468 static DecodeStatus DecodeVST4LN(MCInst &Inst, unsigned Insn, uint64_t Address,
470 static DecodeStatus DecodeVMOVSRR(MCInst &Inst, unsigned Insn, uint64_t Address,
472 static DecodeStatus DecodeVMOVRRS(MCInst &Inst, unsigned Insn, uint64_t Address,
474 static DecodeStatus DecodeSwap(MCInst &Inst, unsigned Insn, uint64_t Address,
476 static DecodeStatus DecodeVCVTD(MCInst &Inst, unsigned Insn, uint64_t Address,
478 static DecodeStatus DecodeVCVTQ(MCInst &Inst, unsigned Insn, uint64_t Address,
480 static DecodeStatus DecodeVCVTImmOperand(MCInst &Inst, unsigned Insn,
487 static DecodeStatus DecodeThumbAddSpecialReg(MCInst &Inst, uint16_t Insn,
517 static DecodeStatus DecodeT2LoadImm8(MCInst &Inst, unsigned Insn,
520 static DecodeStatus DecodeT2LoadImm12(MCInst &Inst, unsigned Insn,
523 static DecodeStatus DecodeT2LoadT(MCInst &Inst, unsigned Insn, uint64_t Address,
525 static DecodeStatus DecodeT2LoadLabel(MCInst &Inst, unsigned Insn,
560 static DecodeStatus DecodeThumbAddSPReg(MCInst &Inst, uint16_t Insn,
563 static DecodeStatus DecodeThumbCPS(MCInst &Inst, uint16_t Insn,
566 static DecodeStatus DecodeQADDInstruction(MCInst &Inst, unsigned Insn,
569 static DecodeStatus DecodeThumbBLXOffset(MCInst &Inst, unsigned Insn,
591 static DecodeStatus DecodeT2LDRDPreInstruction(MCInst &Inst, unsigned Insn,
594 static DecodeStatus DecodeT2STRDPreInstruction(MCInst &Inst, unsigned Insn,
625 static DecodeStatus DecodeLOLoop(MCInst &Inst, unsigned Insn, uint64_t Address,
630 static DecodeStatus DecodeVSCCLRM(MCInst &Inst, unsigned Insn, uint64_t Address,
654 static DecodeStatus DecodeVSTRVLDR_SYSREG(MCInst &Inst, unsigned Insn,
677 static DecodeStatus DecodeMVEVMOVQtoDReg(MCInst &Inst, unsigned Insn,
680 static DecodeStatus DecodeMVEVMOVDRegtoQ(MCInst &Inst, unsigned Insn,
683 static DecodeStatus DecodeMVEVCVTt1fp(MCInst &Inst, unsigned Insn,
690 static DecodeStatus DecodeMVEVCMP(MCInst &Inst, unsigned Insn, uint64_t Address,
692 static DecodeStatus DecodeMveVCTP(MCInst &Inst, unsigned Insn, uint64_t Address,
694 static DecodeStatus DecodeMVEVPNOT(MCInst &Inst, unsigned Insn,
698 DecodeMVEOverlappingLongShift(MCInst &Inst, unsigned Insn, uint64_t Address,
700 static DecodeStatus DecodeT2AddSubSPImm(MCInst &Inst, unsigned Insn,
703 static DecodeStatus DecodeLazyLoadStoreMul(MCInst &Inst, unsigned Insn,
718 uint32_t Insn, in checkDecodedInstruction() argument
724 uint32_t Cond = (Insn >> 28) & 0xF; in checkDecodedInstruction()
801 uint32_t Insn = llvm::support::endian::read<uint32_t>(Bytes.data(), in getARMInstruction() local
806 decodeInstruction(DecoderTableARM32, MI, Insn, Address, this, STI); in getARMInstruction()
809 return checkDecodedInstruction(MI, Size, Address, CS, Insn, Result); in getARMInstruction()
825 Result = decodeInstruction(Table.P, MI, Insn, Address, this, STI); in getARMInstruction()
837 decodeInstruction(DecoderTableCoProc32, MI, Insn, Address, this, STI); in getARMInstruction()
840 return checkDecodedInstruction(MI, Size, Address, CS, Insn, Result); in getARMInstruction()
1863 static DecodeStatus DecodeCopMemInstruction(MCInst &Inst, unsigned Insn, in DecodeCopMemInstruction() argument
1868 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeCopMemInstruction()
1869 unsigned CRd = fieldFromInstruction(Insn, 12, 4); in DecodeCopMemInstruction()
1870 unsigned coproc = fieldFromInstruction(Insn, 8, 4); in DecodeCopMemInstruction()
1871 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeCopMemInstruction()
1872 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeCopMemInstruction()
1873 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeCopMemInstruction()
2043 DecodeAddrMode2IdxInstruction(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeAddrMode2IdxInstruction() argument
2047 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeAddrMode2IdxInstruction()
2048 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeAddrMode2IdxInstruction()
2049 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeAddrMode2IdxInstruction()
2050 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeAddrMode2IdxInstruction()
2051 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeAddrMode2IdxInstruction()
2052 unsigned reg = fieldFromInstruction(Insn, 25, 1); in DecodeAddrMode2IdxInstruction()
2053 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeAddrMode2IdxInstruction()
2054 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeAddrMode2IdxInstruction()
2097 if (!fieldFromInstruction(Insn, 23, 1)) in DecodeAddrMode2IdxInstruction()
2114 switch( fieldFromInstruction(Insn, 5, 2)) { in DecodeAddrMode2IdxInstruction()
2130 unsigned amt = fieldFromInstruction(Insn, 7, 5); in DecodeAddrMode2IdxInstruction()
2192 static DecodeStatus DecodeTSBInstruction(MCInst &Inst, unsigned Insn, in DecodeTSBInstruction() argument
2205 static DecodeStatus DecodeAddrMode3Instruction(MCInst &Inst, unsigned Insn, in DecodeAddrMode3Instruction() argument
2210 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeAddrMode3Instruction()
2211 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeAddrMode3Instruction()
2212 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeAddrMode3Instruction()
2213 unsigned type = fieldFromInstruction(Insn, 22, 1); in DecodeAddrMode3Instruction()
2214 unsigned imm = fieldFromInstruction(Insn, 8, 4); in DecodeAddrMode3Instruction()
2215 unsigned U = ((~fieldFromInstruction(Insn, 23, 1)) & 1) << 8; in DecodeAddrMode3Instruction()
2216 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeAddrMode3Instruction()
2217 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeAddrMode3Instruction()
2218 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeAddrMode3Instruction()
2249 if (!type && fieldFromInstruction(Insn, 8, 4)) in DecodeAddrMode3Instruction()
2397 static DecodeStatus DecodeRFEInstruction(MCInst &Inst, unsigned Insn, in DecodeRFEInstruction() argument
2402 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeRFEInstruction()
2403 unsigned mode = fieldFromInstruction(Insn, 23, 2); in DecodeRFEInstruction()
2427 static DecodeStatus DecodeQADDInstruction(MCInst &Inst, unsigned Insn, in DecodeQADDInstruction() argument
2432 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeQADDInstruction()
2433 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeQADDInstruction()
2434 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeQADDInstruction()
2435 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeQADDInstruction()
2438 return DecodeCPSInstruction(Inst, Insn, Address, Decoder); in DecodeQADDInstruction()
2452 DecodeMemMultipleWritebackInstruction(MCInst &Inst, unsigned Insn, in DecodeMemMultipleWritebackInstruction() argument
2457 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeMemMultipleWritebackInstruction()
2458 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeMemMultipleWritebackInstruction()
2459 unsigned reglist = fieldFromInstruction(Insn, 0, 16); in DecodeMemMultipleWritebackInstruction()
2517 if (fieldFromInstruction(Insn, 20, 1) == 0) { in DecodeMemMultipleWritebackInstruction()
2519 if (!(fieldFromInstruction(Insn, 22, 1) == 1 && in DecodeMemMultipleWritebackInstruction()
2520 fieldFromInstruction(Insn, 20, 1) == 0)) in DecodeMemMultipleWritebackInstruction()
2524 MCOperand::createImm(fieldFromInstruction(Insn, 0, 4))); in DecodeMemMultipleWritebackInstruction()
2528 return DecodeRFEInstruction(Inst, Insn, Address, Decoder); in DecodeMemMultipleWritebackInstruction()
2544 static DecodeStatus DecodeHINTInstruction(MCInst &Inst, unsigned Insn, in DecodeHINTInstruction() argument
2547 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeHINTInstruction()
2548 unsigned imm8 = fieldFromInstruction(Insn, 0, 8); in DecodeHINTInstruction()
2567 static DecodeStatus DecodeCPSInstruction(MCInst &Inst, unsigned Insn, in DecodeCPSInstruction() argument
2570 unsigned imod = fieldFromInstruction(Insn, 18, 2); in DecodeCPSInstruction()
2571 unsigned M = fieldFromInstruction(Insn, 17, 1); in DecodeCPSInstruction()
2572 unsigned iflags = fieldFromInstruction(Insn, 6, 3); in DecodeCPSInstruction()
2573 unsigned mode = fieldFromInstruction(Insn, 0, 5); in DecodeCPSInstruction()
2579 if (fieldFromInstruction(Insn, 5, 1) != 0 || in DecodeCPSInstruction()
2580 fieldFromInstruction(Insn, 16, 1) != 0 || in DecodeCPSInstruction()
2581 fieldFromInstruction(Insn, 20, 8) != 0x10) in DecodeCPSInstruction()
2615 static DecodeStatus DecodeT2CPSInstruction(MCInst &Inst, unsigned Insn, in DecodeT2CPSInstruction() argument
2618 unsigned imod = fieldFromInstruction(Insn, 9, 2); in DecodeT2CPSInstruction()
2619 unsigned M = fieldFromInstruction(Insn, 8, 1); in DecodeT2CPSInstruction()
2620 unsigned iflags = fieldFromInstruction(Insn, 5, 3); in DecodeT2CPSInstruction()
2621 unsigned mode = fieldFromInstruction(Insn, 0, 5); in DecodeT2CPSInstruction()
2648 int imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2CPSInstruction()
2659 DecodeT2HintSpaceInstruction(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeT2HintSpaceInstruction() argument
2661 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2HintSpaceInstruction()
2683 static DecodeStatus DecodeT2MOVTWInstruction(MCInst &Inst, unsigned Insn, in DecodeT2MOVTWInstruction() argument
2688 unsigned Rd = fieldFromInstruction(Insn, 8, 4); in DecodeT2MOVTWInstruction()
2691 imm |= (fieldFromInstruction(Insn, 0, 8) << 0); in DecodeT2MOVTWInstruction()
2692 imm |= (fieldFromInstruction(Insn, 12, 3) << 8); in DecodeT2MOVTWInstruction()
2693 imm |= (fieldFromInstruction(Insn, 16, 4) << 12); in DecodeT2MOVTWInstruction()
2694 imm |= (fieldFromInstruction(Insn, 26, 1) << 11); in DecodeT2MOVTWInstruction()
2708 static DecodeStatus DecodeArmMOVTWInstruction(MCInst &Inst, unsigned Insn, in DecodeArmMOVTWInstruction() argument
2713 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeArmMOVTWInstruction()
2714 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeArmMOVTWInstruction()
2717 imm |= (fieldFromInstruction(Insn, 0, 12) << 0); in DecodeArmMOVTWInstruction()
2718 imm |= (fieldFromInstruction(Insn, 16, 4) << 12); in DecodeArmMOVTWInstruction()
2736 static DecodeStatus DecodeSMLAInstruction(MCInst &Inst, unsigned Insn, in DecodeSMLAInstruction() argument
2741 unsigned Rd = fieldFromInstruction(Insn, 16, 4); in DecodeSMLAInstruction()
2742 unsigned Rn = fieldFromInstruction(Insn, 0, 4); in DecodeSMLAInstruction()
2743 unsigned Rm = fieldFromInstruction(Insn, 8, 4); in DecodeSMLAInstruction()
2744 unsigned Ra = fieldFromInstruction(Insn, 12, 4); in DecodeSMLAInstruction()
2745 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSMLAInstruction()
2748 return DecodeCPSInstruction(Inst, Insn, Address, Decoder); in DecodeSMLAInstruction()
2765 static DecodeStatus DecodeTSTInstruction(MCInst &Inst, unsigned Insn, in DecodeTSTInstruction() argument
2770 unsigned Pred = fieldFromInstruction(Insn, 28, 4); in DecodeTSTInstruction()
2771 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeTSTInstruction()
2772 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeTSTInstruction()
2775 return DecodeSETPANInstruction(Inst, Insn, Address, Decoder); in DecodeTSTInstruction()
2787 static DecodeStatus DecodeSETPANInstruction(MCInst &Inst, unsigned Insn, in DecodeSETPANInstruction() argument
2792 unsigned Imm = fieldFromInstruction(Insn, 9, 1); in DecodeSETPANInstruction()
2803 if (fieldFromInstruction(Insn, 20,12) != 0xf11 || in DecodeSETPANInstruction()
2804 fieldFromInstruction(Insn, 4,4) != 0) in DecodeSETPANInstruction()
2806 if (fieldFromInstruction(Insn, 10,10) != 0 || in DecodeSETPANInstruction()
2807 fieldFromInstruction(Insn, 0,4) != 0) in DecodeSETPANInstruction()
2885 static DecodeStatus DecodeT2BInstruction(MCInst &Inst, unsigned Insn, in DecodeT2BInstruction() argument
2896 unsigned S = fieldFromInstruction(Insn, 26, 1); in DecodeT2BInstruction()
2897 unsigned J1 = fieldFromInstruction(Insn, 13, 1); in DecodeT2BInstruction()
2898 unsigned J2 = fieldFromInstruction(Insn, 11, 1); in DecodeT2BInstruction()
2901 unsigned imm10 = fieldFromInstruction(Insn, 16, 10); in DecodeT2BInstruction()
2902 unsigned imm11 = fieldFromInstruction(Insn, 0, 11); in DecodeT2BInstruction()
2912 static DecodeStatus DecodeBranchImmInstruction(MCInst &Inst, unsigned Insn, in DecodeBranchImmInstruction() argument
2917 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeBranchImmInstruction()
2918 unsigned imm = fieldFromInstruction(Insn, 0, 24) << 2; in DecodeBranchImmInstruction()
2922 imm |= fieldFromInstruction(Insn, 24, 1) << 1; in DecodeBranchImmInstruction()
2960 static DecodeStatus DecodeVLDInstruction(MCInst &Inst, unsigned Insn, in DecodeVLDInstruction() argument
2965 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLDInstruction()
2966 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLDInstruction()
2967 unsigned wb = fieldFromInstruction(Insn, 16, 4); in DecodeVLDInstruction()
2968 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLDInstruction()
2969 Rn |= fieldFromInstruction(Insn, 4, 2) << 4; in DecodeVLDInstruction()
2970 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLDInstruction()
3237 static DecodeStatus DecodeVLDST1Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST1Instruction() argument
3240 unsigned type = fieldFromInstruction(Insn, 8, 4); in DecodeVLDST1Instruction()
3241 unsigned align = fieldFromInstruction(Insn, 4, 2); in DecodeVLDST1Instruction()
3246 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST1Instruction()
3247 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST1Instruction()
3248 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST1Instruction()
3251 static DecodeStatus DecodeVLDST2Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST2Instruction() argument
3254 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLDST2Instruction()
3257 unsigned type = fieldFromInstruction(Insn, 8, 4); in DecodeVLDST2Instruction()
3258 unsigned align = fieldFromInstruction(Insn, 4, 2); in DecodeVLDST2Instruction()
3262 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST2Instruction()
3263 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST2Instruction()
3264 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST2Instruction()
3267 static DecodeStatus DecodeVLDST3Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST3Instruction() argument
3270 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLDST3Instruction()
3273 unsigned align = fieldFromInstruction(Insn, 4, 2); in DecodeVLDST3Instruction()
3276 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST3Instruction()
3277 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST3Instruction()
3278 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST3Instruction()
3281 static DecodeStatus DecodeVLDST4Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST4Instruction() argument
3284 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLDST4Instruction()
3287 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST4Instruction()
3288 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST4Instruction()
3289 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST4Instruction()
3292 static DecodeStatus DecodeVSTInstruction(MCInst &Inst, unsigned Insn, in DecodeVSTInstruction() argument
3297 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVSTInstruction()
3298 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVSTInstruction()
3299 unsigned wb = fieldFromInstruction(Insn, 16, 4); in DecodeVSTInstruction()
3300 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVSTInstruction()
3301 Rn |= fieldFromInstruction(Insn, 4, 2) << 4; in DecodeVSTInstruction()
3302 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVSTInstruction()
3563 static DecodeStatus DecodeVLD1DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD1DupInstruction() argument
3568 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD1DupInstruction()
3569 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD1DupInstruction()
3570 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD1DupInstruction()
3571 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD1DupInstruction()
3572 unsigned align = fieldFromInstruction(Insn, 4, 1); in DecodeVLD1DupInstruction()
3573 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLD1DupInstruction()
3611 static DecodeStatus DecodeVLD2DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD2DupInstruction() argument
3616 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD2DupInstruction()
3617 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD2DupInstruction()
3618 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD2DupInstruction()
3619 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD2DupInstruction()
3620 unsigned align = fieldFromInstruction(Insn, 4, 1); in DecodeVLD2DupInstruction()
3621 unsigned size = 1 << fieldFromInstruction(Insn, 6, 2); in DecodeVLD2DupInstruction()
3660 static DecodeStatus DecodeVLD3DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD3DupInstruction() argument
3665 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD3DupInstruction()
3666 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD3DupInstruction()
3667 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD3DupInstruction()
3668 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD3DupInstruction()
3669 unsigned inc = fieldFromInstruction(Insn, 5, 1) + 1; in DecodeVLD3DupInstruction()
3696 static DecodeStatus DecodeVLD4DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD4DupInstruction() argument
3701 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD4DupInstruction()
3702 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD4DupInstruction()
3703 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD4DupInstruction()
3704 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD4DupInstruction()
3705 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLD4DupInstruction()
3706 unsigned inc = fieldFromInstruction(Insn, 5, 1) + 1; in DecodeVLD4DupInstruction()
3707 unsigned align = fieldFromInstruction(Insn, 4, 1); in DecodeVLD4DupInstruction()
3749 static DecodeStatus DecodeVMOVModImmInstruction(MCInst &Inst, unsigned Insn, in DecodeVMOVModImmInstruction() argument
3754 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVMOVModImmInstruction()
3755 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVMOVModImmInstruction()
3756 unsigned imm = fieldFromInstruction(Insn, 0, 4); in DecodeVMOVModImmInstruction()
3757 imm |= fieldFromInstruction(Insn, 16, 3) << 4; in DecodeVMOVModImmInstruction()
3758 imm |= fieldFromInstruction(Insn, 24, 1) << 7; in DecodeVMOVModImmInstruction()
3759 imm |= fieldFromInstruction(Insn, 8, 4) << 8; in DecodeVMOVModImmInstruction()
3760 imm |= fieldFromInstruction(Insn, 5, 1) << 12; in DecodeVMOVModImmInstruction()
3761 unsigned Q = fieldFromInstruction(Insn, 6, 1); in DecodeVMOVModImmInstruction()
3795 static DecodeStatus DecodeMVEModImmInstruction(MCInst &Inst, unsigned Insn, in DecodeMVEModImmInstruction() argument
3800 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEModImmInstruction()
3801 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEModImmInstruction()
3802 unsigned cmode = fieldFromInstruction(Insn, 8, 4); in DecodeMVEModImmInstruction()
3803 unsigned imm = fieldFromInstruction(Insn, 0, 4); in DecodeMVEModImmInstruction()
3804 imm |= fieldFromInstruction(Insn, 16, 3) << 4; in DecodeMVEModImmInstruction()
3805 imm |= fieldFromInstruction(Insn, 28, 1) << 7; in DecodeMVEModImmInstruction()
3807 imm |= fieldFromInstruction(Insn, 5, 1) << 12; in DecodeMVEModImmInstruction()
3824 static DecodeStatus DecodeMVEVADCInstruction(MCInst &Inst, unsigned Insn, in DecodeMVEVADCInstruction() argument
3829 unsigned Qd = fieldFromInstruction(Insn, 13, 3); in DecodeMVEVADCInstruction()
3830 Qd |= fieldFromInstruction(Insn, 22, 1) << 3; in DecodeMVEVADCInstruction()
3835 unsigned Qn = fieldFromInstruction(Insn, 17, 3); in DecodeMVEVADCInstruction()
3836 Qn |= fieldFromInstruction(Insn, 7, 1) << 3; in DecodeMVEVADCInstruction()
3839 unsigned Qm = fieldFromInstruction(Insn, 1, 3); in DecodeMVEVADCInstruction()
3840 Qm |= fieldFromInstruction(Insn, 5, 1) << 3; in DecodeMVEVADCInstruction()
3843 if (!fieldFromInstruction(Insn, 12, 1)) // I bit clear => need input FPSCR in DecodeMVEVADCInstruction()
3850 static DecodeStatus DecodeVSHLMaxInstruction(MCInst &Inst, unsigned Insn, in DecodeVSHLMaxInstruction() argument
3855 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVSHLMaxInstruction()
3856 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVSHLMaxInstruction()
3857 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVSHLMaxInstruction()
3858 Rm |= fieldFromInstruction(Insn, 5, 1) << 4; in DecodeVSHLMaxInstruction()
3859 unsigned size = fieldFromInstruction(Insn, 18, 2); in DecodeVSHLMaxInstruction()
3898 static DecodeStatus DecodeTBLInstruction(MCInst &Inst, unsigned Insn, in DecodeTBLInstruction() argument
3903 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeTBLInstruction()
3904 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeTBLInstruction()
3905 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeTBLInstruction()
3906 Rn |= fieldFromInstruction(Insn, 7, 1) << 4; in DecodeTBLInstruction()
3907 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeTBLInstruction()
3908 Rm |= fieldFromInstruction(Insn, 5, 1) << 4; in DecodeTBLInstruction()
3909 unsigned op = fieldFromInstruction(Insn, 6, 1); in DecodeTBLInstruction()
3935 static DecodeStatus DecodeThumbAddSpecialReg(MCInst &Inst, uint16_t Insn, in DecodeThumbAddSpecialReg() argument
3940 unsigned dst = fieldFromInstruction(Insn, 8, 3); in DecodeThumbAddSpecialReg()
3941 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeThumbAddSpecialReg()
4068 static DecodeStatus DecodeT2LoadShift(MCInst &Inst, unsigned Insn, in DecodeT2LoadShift() argument
4073 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadShift()
4074 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadShift()
4109 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadShift()
4143 unsigned addrmode = fieldFromInstruction(Insn, 4, 2); in DecodeT2LoadShift()
4144 addrmode |= fieldFromInstruction(Insn, 0, 4) << 2; in DecodeT2LoadShift()
4145 addrmode |= fieldFromInstruction(Insn, 16, 4) << 6; in DecodeT2LoadShift()
4152 static DecodeStatus DecodeT2LoadImm8(MCInst &Inst, unsigned Insn, in DecodeT2LoadImm8() argument
4157 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadImm8()
4158 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadImm8()
4159 unsigned U = fieldFromInstruction(Insn, 9, 1); in DecodeT2LoadImm8()
4160 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2LoadImm8()
4163 unsigned add = fieldFromInstruction(Insn, 9, 1); in DecodeT2LoadImm8()
4197 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadImm8()
4237 static DecodeStatus DecodeT2LoadImm12(MCInst &Inst, unsigned Insn, in DecodeT2LoadImm12() argument
4242 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadImm12()
4243 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadImm12()
4244 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeT2LoadImm12()
4279 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadImm12()
4318 static DecodeStatus DecodeT2LoadT(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeT2LoadT() argument
4322 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadT()
4323 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadT()
4324 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2LoadT()
4347 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadT()
4357 static DecodeStatus DecodeT2LoadLabel(MCInst &Inst, unsigned Insn, in DecodeT2LoadLabel() argument
4362 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadLabel()
4363 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeT2LoadLabel()
4364 int imm = fieldFromInstruction(Insn, 0, 12); in DecodeT2LoadLabel()
4598 static DecodeStatus DecodeT2LdStPre(MCInst &Inst, unsigned Insn, in DecodeT2LdStPre() argument
4603 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LdStPre()
4604 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LdStPre()
4605 unsigned addr = fieldFromInstruction(Insn, 0, 8); in DecodeT2LdStPre()
4606 addr |= fieldFromInstruction(Insn, 9, 1) << 8; in DecodeT2LdStPre()
4608 unsigned load = fieldFromInstruction(Insn, 20, 1); in DecodeT2LdStPre()
4638 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LdStPre()
4687 static DecodeStatus DecodeThumbAddSPImm(MCInst &Inst, uint16_t Insn, in DecodeThumbAddSPImm() argument
4690 unsigned imm = fieldFromInstruction(Insn, 0, 7); in DecodeThumbAddSPImm()
4699 static DecodeStatus DecodeThumbAddSPReg(MCInst &Inst, uint16_t Insn, in DecodeThumbAddSPReg() argument
4705 unsigned Rdm = fieldFromInstruction(Insn, 0, 3); in DecodeThumbAddSPReg()
4706 Rdm |= fieldFromInstruction(Insn, 7, 1) << 3; in DecodeThumbAddSPReg()
4714 unsigned Rm = fieldFromInstruction(Insn, 3, 4); in DecodeThumbAddSPReg()
4725 static DecodeStatus DecodeThumbCPS(MCInst &Inst, uint16_t Insn, in DecodeThumbCPS() argument
4728 unsigned imod = fieldFromInstruction(Insn, 4, 1) | 0x2; in DecodeThumbCPS()
4729 unsigned flags = fieldFromInstruction(Insn, 0, 3); in DecodeThumbCPS()
4737 static DecodeStatus DecodePostIdxReg(MCInst &Inst, unsigned Insn, in DecodePostIdxReg() argument
4741 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodePostIdxReg()
4742 unsigned add = fieldFromInstruction(Insn, 4, 1); in DecodePostIdxReg()
4751 static DecodeStatus DecodeMveAddrModeRQ(MCInst &Inst, unsigned Insn, in DecodeMveAddrModeRQ() argument
4755 unsigned Rn = fieldFromInstruction(Insn, 3, 4); in DecodeMveAddrModeRQ()
4756 unsigned Qm = fieldFromInstruction(Insn, 0, 3); in DecodeMveAddrModeRQ()
4767 static DecodeStatus DecodeMveAddrModeQ(MCInst &Inst, unsigned Insn, in DecodeMveAddrModeQ() argument
4771 unsigned Qm = fieldFromInstruction(Insn, 8, 3); in DecodeMveAddrModeQ()
4772 int imm = fieldFromInstruction(Insn, 0, 7); in DecodeMveAddrModeQ()
4777 if(!fieldFromInstruction(Insn, 7, 1)) { in DecodeMveAddrModeQ()
4831 static DecodeStatus DecodeThumbTableBranch(MCInst &Inst, unsigned Insn, in DecodeThumbTableBranch() argument
4838 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeThumbTableBranch()
4839 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeThumbTableBranch()
4849 static DecodeStatus DecodeThumb2BCCInstruction(MCInst &Inst, unsigned Insn, in DecodeThumb2BCCInstruction() argument
4854 unsigned pred = fieldFromInstruction(Insn, 22, 4); in DecodeThumb2BCCInstruction()
4856 unsigned opc = fieldFromInstruction(Insn, 4, 28); in DecodeThumb2BCCInstruction()
4871 unsigned imm = fieldFromInstruction(Insn, 0, 4); in DecodeThumb2BCCInstruction()
4875 unsigned brtarget = fieldFromInstruction(Insn, 0, 11) << 1; in DecodeThumb2BCCInstruction()
4876 brtarget |= fieldFromInstruction(Insn, 11, 1) << 19; in DecodeThumb2BCCInstruction()
4877 brtarget |= fieldFromInstruction(Insn, 13, 1) << 18; in DecodeThumb2BCCInstruction()
4878 brtarget |= fieldFromInstruction(Insn, 16, 6) << 12; in DecodeThumb2BCCInstruction()
4879 brtarget |= fieldFromInstruction(Insn, 26, 1) << 20; in DecodeThumb2BCCInstruction()
5093 static DecodeStatus DecodeDoubleRegLoad(MCInst &Inst, unsigned Insn, in DecodeDoubleRegLoad() argument
5098 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeDoubleRegLoad()
5099 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeDoubleRegLoad()
5100 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeDoubleRegLoad()
5115 static DecodeStatus DecodeDoubleRegStore(MCInst &Inst, unsigned Insn, in DecodeDoubleRegStore() argument
5120 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeDoubleRegStore()
5121 unsigned Rt = fieldFromInstruction(Insn, 0, 4); in DecodeDoubleRegStore()
5122 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeDoubleRegStore()
5123 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeDoubleRegStore()
5141 static DecodeStatus DecodeLDRPreImm(MCInst &Inst, unsigned Insn, in DecodeLDRPreImm() argument
5146 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeLDRPreImm()
5147 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeLDRPreImm()
5148 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeLDRPreImm()
5149 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeLDRPreImm()
5150 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeLDRPreImm()
5151 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeLDRPreImm()
5167 static DecodeStatus DecodeLDRPreReg(MCInst &Inst, unsigned Insn, in DecodeLDRPreReg() argument
5172 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeLDRPreReg()
5173 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeLDRPreReg()
5174 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeLDRPreReg()
5175 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeLDRPreReg()
5176 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeLDRPreReg()
5177 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeLDRPreReg()
5178 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeLDRPreReg()
5195 static DecodeStatus DecodeSTRPreImm(MCInst &Inst, unsigned Insn, in DecodeSTRPreImm() argument
5200 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeSTRPreImm()
5201 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeSTRPreImm()
5202 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeSTRPreImm()
5203 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeSTRPreImm()
5204 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeSTRPreImm()
5205 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSTRPreImm()
5221 static DecodeStatus DecodeSTRPreReg(MCInst &Inst, unsigned Insn, in DecodeSTRPreReg() argument
5226 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeSTRPreReg()
5227 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeSTRPreReg()
5228 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeSTRPreReg()
5229 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeSTRPreReg()
5230 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeSTRPreReg()
5231 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSTRPreReg()
5247 static DecodeStatus DecodeVLD1LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD1LN() argument
5251 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD1LN()
5252 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD1LN()
5253 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD1LN()
5254 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD1LN()
5255 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD1LN()
5263 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD1LN()
5265 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD1LN()
5268 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD1LN()
5270 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD1LN()
5271 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD1LN()
5275 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD1LN()
5277 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD1LN()
5279 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVLD1LN()
5314 static DecodeStatus DecodeVST1LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST1LN() argument
5318 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST1LN()
5319 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST1LN()
5320 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST1LN()
5321 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST1LN()
5322 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST1LN()
5330 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST1LN()
5332 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST1LN()
5335 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST1LN()
5337 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST1LN()
5338 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST1LN()
5342 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST1LN()
5344 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST1LN()
5346 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVST1LN()
5379 static DecodeStatus DecodeVLD2LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD2LN() argument
5383 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD2LN()
5384 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD2LN()
5385 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD2LN()
5386 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD2LN()
5387 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD2LN()
5396 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD2LN()
5397 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD2LN()
5401 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD2LN()
5402 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD2LN()
5404 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD2LN()
5408 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD2LN()
5410 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD2LN()
5411 if (fieldFromInstruction(Insn, 4, 1) != 0) in DecodeVLD2LN()
5413 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD2LN()
5446 static DecodeStatus DecodeVST2LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST2LN() argument
5450 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST2LN()
5451 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST2LN()
5452 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST2LN()
5453 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST2LN()
5454 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST2LN()
5463 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST2LN()
5464 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST2LN()
5468 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST2LN()
5469 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST2LN()
5471 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST2LN()
5475 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST2LN()
5477 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST2LN()
5478 if (fieldFromInstruction(Insn, 4, 1) != 0) in DecodeVST2LN()
5480 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST2LN()
5509 static DecodeStatus DecodeVLD3LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD3LN() argument
5513 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD3LN()
5514 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD3LN()
5515 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD3LN()
5516 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD3LN()
5517 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD3LN()
5526 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD3LN()
5528 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD3LN()
5531 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD3LN()
5533 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD3LN()
5534 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD3LN()
5538 if (fieldFromInstruction(Insn, 4, 2)) in DecodeVLD3LN()
5540 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD3LN()
5541 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD3LN()
5579 static DecodeStatus DecodeVST3LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST3LN() argument
5583 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST3LN()
5584 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST3LN()
5585 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST3LN()
5586 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST3LN()
5587 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST3LN()
5596 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST3LN()
5598 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST3LN()
5601 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST3LN()
5603 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST3LN()
5604 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST3LN()
5608 if (fieldFromInstruction(Insn, 4, 2)) in DecodeVST3LN()
5610 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST3LN()
5611 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST3LN()
5642 static DecodeStatus DecodeVLD4LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD4LN() argument
5646 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD4LN()
5647 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD4LN()
5648 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD4LN()
5649 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD4LN()
5650 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD4LN()
5659 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD4LN()
5661 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD4LN()
5664 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD4LN()
5666 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD4LN()
5667 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD4LN()
5671 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVLD4LN()
5677 align = 4 << fieldFromInstruction(Insn, 4, 2); break; in DecodeVLD4LN()
5680 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD4LN()
5681 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD4LN()
5723 static DecodeStatus DecodeVST4LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST4LN() argument
5727 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST4LN()
5728 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST4LN()
5729 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST4LN()
5730 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST4LN()
5731 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST4LN()
5740 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST4LN()
5742 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST4LN()
5745 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST4LN()
5747 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST4LN()
5748 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST4LN()
5752 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVST4LN()
5758 align = 4 << fieldFromInstruction(Insn, 4, 2); break; in DecodeVST4LN()
5761 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST4LN()
5762 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST4LN()
5795 static DecodeStatus DecodeVMOVSRR(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVMOVSRR() argument
5798 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeVMOVSRR()
5799 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeVMOVSRR()
5800 unsigned Rm = fieldFromInstruction(Insn, 5, 1); in DecodeVMOVSRR()
5801 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeVMOVSRR()
5802 Rm |= fieldFromInstruction(Insn, 0, 4) << 1; in DecodeVMOVSRR()
5821 static DecodeStatus DecodeVMOVRRS(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVMOVRRS() argument
5824 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeVMOVRRS()
5825 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeVMOVRRS()
5826 unsigned Rm = fieldFromInstruction(Insn, 5, 1); in DecodeVMOVRRS()
5827 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeVMOVRRS()
5828 Rm |= fieldFromInstruction(Insn, 0, 4) << 1; in DecodeVMOVRRS()
5847 static DecodeStatus DecodeIT(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeIT() argument
5850 unsigned pred = fieldFromInstruction(Insn, 4, 4); in DecodeIT()
5851 unsigned mask = fieldFromInstruction(Insn, 0, 4); in DecodeIT()
5876 static DecodeStatus DecodeT2LDRDPreInstruction(MCInst &Inst, unsigned Insn, in DecodeT2LDRDPreInstruction() argument
5881 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LDRDPreInstruction()
5882 unsigned Rt2 = fieldFromInstruction(Insn, 8, 4); in DecodeT2LDRDPreInstruction()
5883 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LDRDPreInstruction()
5884 unsigned addr = fieldFromInstruction(Insn, 0, 8); in DecodeT2LDRDPreInstruction()
5885 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeT2LDRDPreInstruction()
5886 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeT2LDRDPreInstruction()
5887 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeT2LDRDPreInstruction()
5913 static DecodeStatus DecodeT2STRDPreInstruction(MCInst &Inst, unsigned Insn, in DecodeT2STRDPreInstruction() argument
5918 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2STRDPreInstruction()
5919 unsigned Rt2 = fieldFromInstruction(Insn, 8, 4); in DecodeT2STRDPreInstruction()
5920 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2STRDPreInstruction()
5921 unsigned addr = fieldFromInstruction(Insn, 0, 8); in DecodeT2STRDPreInstruction()
5922 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeT2STRDPreInstruction()
5923 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeT2STRDPreInstruction()
5924 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeT2STRDPreInstruction()
5948 static DecodeStatus DecodeT2Adr(MCInst &Inst, uint32_t Insn, uint64_t Address, in DecodeT2Adr() argument
5950 unsigned sign1 = fieldFromInstruction(Insn, 21, 1); in DecodeT2Adr()
5951 unsigned sign2 = fieldFromInstruction(Insn, 23, 1); in DecodeT2Adr()
5953 const unsigned Rd = fieldFromInstruction(Insn, 8, 4); in DecodeT2Adr()
5957 unsigned Val = fieldFromInstruction(Insn, 0, 8); in DecodeT2Adr()
5958 Val |= fieldFromInstruction(Insn, 12, 3) << 8; in DecodeT2Adr()
5959 Val |= fieldFromInstruction(Insn, 26, 1) << 11; in DecodeT2Adr()
5985 static DecodeStatus DecodeSwap(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeSwap() argument
5987 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeSwap()
5988 unsigned Rt2 = fieldFromInstruction(Insn, 0, 4); in DecodeSwap()
5989 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeSwap()
5990 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSwap()
5993 return DecodeCPSInstruction(Inst, Insn, Address, Decoder); in DecodeSwap()
6012 static DecodeStatus DecodeVCVTD(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVCVTD() argument
6018 unsigned Vd = (fieldFromInstruction(Insn, 12, 4) << 0); in DecodeVCVTD()
6019 Vd |= (fieldFromInstruction(Insn, 22, 1) << 4); in DecodeVCVTD()
6020 unsigned Vm = (fieldFromInstruction(Insn, 0, 4) << 0); in DecodeVCVTD()
6021 Vm |= (fieldFromInstruction(Insn, 5, 1) << 4); in DecodeVCVTD()
6022 unsigned imm = fieldFromInstruction(Insn, 16, 6); in DecodeVCVTD()
6023 unsigned cmode = fieldFromInstruction(Insn, 8, 4); in DecodeVCVTD()
6024 unsigned op = fieldFromInstruction(Insn, 5, 1); in DecodeVCVTD()
6057 return DecodeVMOVModImmInstruction(Inst, Insn, Address, Decoder); in DecodeVCVTD()
6071 static DecodeStatus DecodeVCVTQ(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVCVTQ() argument
6077 unsigned Vd = (fieldFromInstruction(Insn, 12, 4) << 0); in DecodeVCVTQ()
6078 Vd |= (fieldFromInstruction(Insn, 22, 1) << 4); in DecodeVCVTQ()
6079 unsigned Vm = (fieldFromInstruction(Insn, 0, 4) << 0); in DecodeVCVTQ()
6080 Vm |= (fieldFromInstruction(Insn, 5, 1) << 4); in DecodeVCVTQ()
6081 unsigned imm = fieldFromInstruction(Insn, 16, 6); in DecodeVCVTQ()
6082 unsigned cmode = fieldFromInstruction(Insn, 8, 4); in DecodeVCVTQ()
6083 unsigned op = fieldFromInstruction(Insn, 5, 1); in DecodeVCVTQ()
6116 return DecodeVMOVModImmInstruction(Inst, Insn, Address, Decoder); in DecodeVCVTQ()
6131 DecodeNEONComplexLane64Instruction(MCInst &Inst, unsigned Insn, in DecodeNEONComplexLane64Instruction() argument
6134 unsigned Vd = (fieldFromInstruction(Insn, 12, 4) << 0); in DecodeNEONComplexLane64Instruction()
6135 Vd |= (fieldFromInstruction(Insn, 22, 1) << 4); in DecodeNEONComplexLane64Instruction()
6136 unsigned Vn = (fieldFromInstruction(Insn, 16, 4) << 0); in DecodeNEONComplexLane64Instruction()
6137 Vn |= (fieldFromInstruction(Insn, 7, 1) << 4); in DecodeNEONComplexLane64Instruction()
6138 unsigned Vm = (fieldFromInstruction(Insn, 0, 4) << 0); in DecodeNEONComplexLane64Instruction()
6139 Vm |= (fieldFromInstruction(Insn, 5, 1) << 4); in DecodeNEONComplexLane64Instruction()
6140 unsigned q = (fieldFromInstruction(Insn, 6, 1) << 0); in DecodeNEONComplexLane64Instruction()
6141 unsigned rotate = (fieldFromInstruction(Insn, 20, 2) << 0); in DecodeNEONComplexLane64Instruction()
6328 static DecodeStatus DecodeLOLoop(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeLOLoop() argument
6335 unsigned Imm = fieldFromInstruction(Insn, 11, 1) | in DecodeLOLoop()
6336 fieldFromInstruction(Insn, 1, 10) << 1; in DecodeLOLoop()
6355 DecoderGPRRegisterClass(Inst, fieldFromInstruction(Insn, 16, 4), in DecodeLOLoop()
6366 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeLOLoop()
6372 if ((Insn & ~SBZMask) != CanonicalLCTP) in DecodeLOLoop()
6374 if (Insn != CanonicalLCTP) in DecodeLOLoop()
6381 fieldFromInstruction(Insn, 16, 4), in DecodeLOLoop()
6443 static DecodeStatus DecodeVSCCLRM(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVSCCLRM() argument
6450 unsigned reglist = (fieldFromInstruction(Insn, 1, 7) << 1) | in DecodeVSCCLRM()
6451 (fieldFromInstruction(Insn, 12, 4) << 8) | in DecodeVSCCLRM()
6452 (fieldFromInstruction(Insn, 22, 1) << 12); in DecodeVSCCLRM()
6457 unsigned reglist = fieldFromInstruction(Insn, 0, 8) | in DecodeVSCCLRM()
6458 (fieldFromInstruction(Insn, 22, 1) << 8) | in DecodeVSCCLRM()
6459 (fieldFromInstruction(Insn, 12, 4) << 9); in DecodeVSCCLRM()
6795 static DecodeStatus DecodeMVEVMOVQtoDReg(MCInst &Inst, unsigned Insn, in DecodeMVEVMOVQtoDReg() argument
6799 unsigned Rt = fieldFromInstruction(Insn, 0, 4); in DecodeMVEVMOVQtoDReg()
6800 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeMVEVMOVQtoDReg()
6801 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEVMOVQtoDReg()
6802 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEVMOVQtoDReg()
6803 unsigned index = fieldFromInstruction(Insn, 4, 1); in DecodeMVEVMOVQtoDReg()
6819 static DecodeStatus DecodeMVEVMOVDRegtoQ(MCInst &Inst, unsigned Insn, in DecodeMVEVMOVDRegtoQ() argument
6823 unsigned Rt = fieldFromInstruction(Insn, 0, 4); in DecodeMVEVMOVDRegtoQ()
6824 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeMVEVMOVDRegtoQ()
6825 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEVMOVDRegtoQ()
6826 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEVMOVDRegtoQ()
6827 unsigned index = fieldFromInstruction(Insn, 4, 1); in DecodeMVEVMOVDRegtoQ()
6846 DecodeMVEOverlappingLongShift(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeMVEOverlappingLongShift() argument
6850 unsigned RdaLo = fieldFromInstruction(Insn, 17, 3) << 1; in DecodeMVEOverlappingLongShift()
6851 unsigned RdaHi = fieldFromInstruction(Insn, 9, 3) << 1; in DecodeMVEOverlappingLongShift()
6852 unsigned Rm = fieldFromInstruction(Insn, 12, 4); in DecodeMVEOverlappingLongShift()
6860 unsigned Rda = fieldFromInstruction(Insn, 16, 4); in DecodeMVEOverlappingLongShift()
6887 if (fieldFromInstruction (Insn, 6, 3) != 4) in DecodeMVEOverlappingLongShift()
6917 unsigned Saturate = fieldFromInstruction(Insn, 7, 1); in DecodeMVEOverlappingLongShift()
6925 static DecodeStatus DecodeMVEVCVTt1fp(MCInst &Inst, unsigned Insn, in DecodeMVEVCVTt1fp() argument
6929 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEVCVTt1fp()
6930 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEVCVTt1fp()
6931 unsigned Qm = ((fieldFromInstruction(Insn, 5, 1) << 3) | in DecodeMVEVCVTt1fp()
6932 fieldFromInstruction(Insn, 1, 3)); in DecodeMVEVCVTt1fp()
6933 unsigned imm6 = fieldFromInstruction(Insn, 16, 6); in DecodeMVEVCVTt1fp()
6946 static DecodeStatus DecodeMVEVCMP(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeMVEVCMP() argument
6950 unsigned Qn = fieldFromInstruction(Insn, 17, 3); in DecodeMVEVCMP()
6957 fc = fieldFromInstruction(Insn, 12, 1) << 2 | in DecodeMVEVCMP()
6958 fieldFromInstruction(Insn, 7, 1) | in DecodeMVEVCMP()
6959 fieldFromInstruction(Insn, 5, 1) << 1; in DecodeMVEVCMP()
6960 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeMVEVCMP()
6964 fc = fieldFromInstruction(Insn, 12, 1) << 2 | in DecodeMVEVCMP()
6965 fieldFromInstruction(Insn, 7, 1) | in DecodeMVEVCMP()
6966 fieldFromInstruction(Insn, 0, 1) << 1; in DecodeMVEVCMP()
6967 unsigned Qm = fieldFromInstruction(Insn, 5, 1) << 4 | in DecodeMVEVCMP()
6968 fieldFromInstruction(Insn, 1, 3); in DecodeMVEVCMP()
6983 static DecodeStatus DecodeMveVCTP(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeMveVCTP() argument
6987 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeMveVCTP()
6993 static DecodeStatus DecodeMVEVPNOT(MCInst &Inst, unsigned Insn, in DecodeMVEVPNOT() argument
7002 static DecodeStatus DecodeT2AddSubSPImm(MCInst &Inst, unsigned Insn, in DecodeT2AddSubSPImm() argument
7005 const unsigned Rd = fieldFromInstruction(Insn, 8, 4); in DecodeT2AddSubSPImm()
7006 const unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2AddSubSPImm()
7007 const unsigned Imm12 = fieldFromInstruction(Insn, 26, 1) << 11 | in DecodeT2AddSubSPImm()
7008 fieldFromInstruction(Insn, 12, 3) << 8 | in DecodeT2AddSubSPImm()
7009 fieldFromInstruction(Insn, 0, 8); in DecodeT2AddSubSPImm()
7010 const unsigned TypeT3 = fieldFromInstruction(Insn, 25, 1); in DecodeT2AddSubSPImm()
7011 unsigned sign1 = fieldFromInstruction(Insn, 21, 1); in DecodeT2AddSubSPImm()
7012 unsigned sign2 = fieldFromInstruction(Insn, 23, 1); in DecodeT2AddSubSPImm()
7013 unsigned S = fieldFromInstruction(Insn, 20, 1); in DecodeT2AddSubSPImm()
7037 static DecodeStatus DecodeLazyLoadStoreMul(MCInst &Inst, unsigned Insn, in DecodeLazyLoadStoreMul() argument
7042 const unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeLazyLoadStoreMul()