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,
715 uint32_t Insn, in checkDecodedInstruction() argument
721 uint32_t Cond = (Insn >> 28) & 0xF; in checkDecodedInstruction()
798 uint32_t Insn = llvm::support::endian::read<uint32_t>(Bytes.data(), in getARMInstruction() local
803 decodeInstruction(DecoderTableARM32, MI, Insn, Address, this, STI); in getARMInstruction()
806 return checkDecodedInstruction(MI, Size, Address, CS, Insn, Result); in getARMInstruction()
822 Result = decodeInstruction(Table.P, MI, Insn, Address, this, STI); in getARMInstruction()
834 decodeInstruction(DecoderTableCoProc32, MI, Insn, Address, this, STI); in getARMInstruction()
837 return checkDecodedInstruction(MI, Size, Address, CS, Insn, Result); in getARMInstruction()
1860 static DecodeStatus DecodeCopMemInstruction(MCInst &Inst, unsigned Insn, in DecodeCopMemInstruction() argument
1865 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeCopMemInstruction()
1866 unsigned CRd = fieldFromInstruction(Insn, 12, 4); in DecodeCopMemInstruction()
1867 unsigned coproc = fieldFromInstruction(Insn, 8, 4); in DecodeCopMemInstruction()
1868 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeCopMemInstruction()
1869 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeCopMemInstruction()
1870 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeCopMemInstruction()
2040 DecodeAddrMode2IdxInstruction(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeAddrMode2IdxInstruction() argument
2044 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeAddrMode2IdxInstruction()
2045 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeAddrMode2IdxInstruction()
2046 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeAddrMode2IdxInstruction()
2047 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeAddrMode2IdxInstruction()
2048 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeAddrMode2IdxInstruction()
2049 unsigned reg = fieldFromInstruction(Insn, 25, 1); in DecodeAddrMode2IdxInstruction()
2050 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeAddrMode2IdxInstruction()
2051 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeAddrMode2IdxInstruction()
2094 if (!fieldFromInstruction(Insn, 23, 1)) in DecodeAddrMode2IdxInstruction()
2111 switch( fieldFromInstruction(Insn, 5, 2)) { in DecodeAddrMode2IdxInstruction()
2127 unsigned amt = fieldFromInstruction(Insn, 7, 5); in DecodeAddrMode2IdxInstruction()
2189 static DecodeStatus DecodeTSBInstruction(MCInst &Inst, unsigned Insn, in DecodeTSBInstruction() argument
2202 static DecodeStatus DecodeAddrMode3Instruction(MCInst &Inst, unsigned Insn, in DecodeAddrMode3Instruction() argument
2207 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeAddrMode3Instruction()
2208 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeAddrMode3Instruction()
2209 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeAddrMode3Instruction()
2210 unsigned type = fieldFromInstruction(Insn, 22, 1); in DecodeAddrMode3Instruction()
2211 unsigned imm = fieldFromInstruction(Insn, 8, 4); in DecodeAddrMode3Instruction()
2212 unsigned U = ((~fieldFromInstruction(Insn, 23, 1)) & 1) << 8; in DecodeAddrMode3Instruction()
2213 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeAddrMode3Instruction()
2214 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeAddrMode3Instruction()
2215 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeAddrMode3Instruction()
2246 if (!type && fieldFromInstruction(Insn, 8, 4)) in DecodeAddrMode3Instruction()
2394 static DecodeStatus DecodeRFEInstruction(MCInst &Inst, unsigned Insn, in DecodeRFEInstruction() argument
2399 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeRFEInstruction()
2400 unsigned mode = fieldFromInstruction(Insn, 23, 2); in DecodeRFEInstruction()
2424 static DecodeStatus DecodeQADDInstruction(MCInst &Inst, unsigned Insn, in DecodeQADDInstruction() argument
2429 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeQADDInstruction()
2430 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeQADDInstruction()
2431 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeQADDInstruction()
2432 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeQADDInstruction()
2435 return DecodeCPSInstruction(Inst, Insn, Address, Decoder); in DecodeQADDInstruction()
2449 DecodeMemMultipleWritebackInstruction(MCInst &Inst, unsigned Insn, in DecodeMemMultipleWritebackInstruction() argument
2454 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeMemMultipleWritebackInstruction()
2455 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeMemMultipleWritebackInstruction()
2456 unsigned reglist = fieldFromInstruction(Insn, 0, 16); in DecodeMemMultipleWritebackInstruction()
2514 if (fieldFromInstruction(Insn, 20, 1) == 0) { in DecodeMemMultipleWritebackInstruction()
2516 if (!(fieldFromInstruction(Insn, 22, 1) == 1 && in DecodeMemMultipleWritebackInstruction()
2517 fieldFromInstruction(Insn, 20, 1) == 0)) in DecodeMemMultipleWritebackInstruction()
2521 MCOperand::createImm(fieldFromInstruction(Insn, 0, 4))); in DecodeMemMultipleWritebackInstruction()
2525 return DecodeRFEInstruction(Inst, Insn, Address, Decoder); in DecodeMemMultipleWritebackInstruction()
2541 static DecodeStatus DecodeHINTInstruction(MCInst &Inst, unsigned Insn, in DecodeHINTInstruction() argument
2544 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeHINTInstruction()
2545 unsigned imm8 = fieldFromInstruction(Insn, 0, 8); in DecodeHINTInstruction()
2564 static DecodeStatus DecodeCPSInstruction(MCInst &Inst, unsigned Insn, in DecodeCPSInstruction() argument
2567 unsigned imod = fieldFromInstruction(Insn, 18, 2); in DecodeCPSInstruction()
2568 unsigned M = fieldFromInstruction(Insn, 17, 1); in DecodeCPSInstruction()
2569 unsigned iflags = fieldFromInstruction(Insn, 6, 3); in DecodeCPSInstruction()
2570 unsigned mode = fieldFromInstruction(Insn, 0, 5); in DecodeCPSInstruction()
2576 if (fieldFromInstruction(Insn, 5, 1) != 0 || in DecodeCPSInstruction()
2577 fieldFromInstruction(Insn, 16, 1) != 0 || in DecodeCPSInstruction()
2578 fieldFromInstruction(Insn, 20, 8) != 0x10) in DecodeCPSInstruction()
2612 static DecodeStatus DecodeT2CPSInstruction(MCInst &Inst, unsigned Insn, in DecodeT2CPSInstruction() argument
2615 unsigned imod = fieldFromInstruction(Insn, 9, 2); in DecodeT2CPSInstruction()
2616 unsigned M = fieldFromInstruction(Insn, 8, 1); in DecodeT2CPSInstruction()
2617 unsigned iflags = fieldFromInstruction(Insn, 5, 3); in DecodeT2CPSInstruction()
2618 unsigned mode = fieldFromInstruction(Insn, 0, 5); in DecodeT2CPSInstruction()
2645 int imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2CPSInstruction()
2656 DecodeT2HintSpaceInstruction(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeT2HintSpaceInstruction() argument
2658 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2HintSpaceInstruction()
2680 static DecodeStatus DecodeT2MOVTWInstruction(MCInst &Inst, unsigned Insn, in DecodeT2MOVTWInstruction() argument
2685 unsigned Rd = fieldFromInstruction(Insn, 8, 4); in DecodeT2MOVTWInstruction()
2688 imm |= (fieldFromInstruction(Insn, 0, 8) << 0); in DecodeT2MOVTWInstruction()
2689 imm |= (fieldFromInstruction(Insn, 12, 3) << 8); in DecodeT2MOVTWInstruction()
2690 imm |= (fieldFromInstruction(Insn, 16, 4) << 12); in DecodeT2MOVTWInstruction()
2691 imm |= (fieldFromInstruction(Insn, 26, 1) << 11); in DecodeT2MOVTWInstruction()
2705 static DecodeStatus DecodeArmMOVTWInstruction(MCInst &Inst, unsigned Insn, in DecodeArmMOVTWInstruction() argument
2710 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeArmMOVTWInstruction()
2711 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeArmMOVTWInstruction()
2714 imm |= (fieldFromInstruction(Insn, 0, 12) << 0); in DecodeArmMOVTWInstruction()
2715 imm |= (fieldFromInstruction(Insn, 16, 4) << 12); in DecodeArmMOVTWInstruction()
2733 static DecodeStatus DecodeSMLAInstruction(MCInst &Inst, unsigned Insn, in DecodeSMLAInstruction() argument
2738 unsigned Rd = fieldFromInstruction(Insn, 16, 4); in DecodeSMLAInstruction()
2739 unsigned Rn = fieldFromInstruction(Insn, 0, 4); in DecodeSMLAInstruction()
2740 unsigned Rm = fieldFromInstruction(Insn, 8, 4); in DecodeSMLAInstruction()
2741 unsigned Ra = fieldFromInstruction(Insn, 12, 4); in DecodeSMLAInstruction()
2742 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSMLAInstruction()
2745 return DecodeCPSInstruction(Inst, Insn, Address, Decoder); in DecodeSMLAInstruction()
2762 static DecodeStatus DecodeTSTInstruction(MCInst &Inst, unsigned Insn, in DecodeTSTInstruction() argument
2767 unsigned Pred = fieldFromInstruction(Insn, 28, 4); in DecodeTSTInstruction()
2768 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeTSTInstruction()
2769 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeTSTInstruction()
2772 return DecodeSETPANInstruction(Inst, Insn, Address, Decoder); in DecodeTSTInstruction()
2784 static DecodeStatus DecodeSETPANInstruction(MCInst &Inst, unsigned Insn, in DecodeSETPANInstruction() argument
2789 unsigned Imm = fieldFromInstruction(Insn, 9, 1); in DecodeSETPANInstruction()
2800 if (fieldFromInstruction(Insn, 20,12) != 0xf11 || in DecodeSETPANInstruction()
2801 fieldFromInstruction(Insn, 4,4) != 0) in DecodeSETPANInstruction()
2803 if (fieldFromInstruction(Insn, 10,10) != 0 || in DecodeSETPANInstruction()
2804 fieldFromInstruction(Insn, 0,4) != 0) in DecodeSETPANInstruction()
2882 static DecodeStatus DecodeT2BInstruction(MCInst &Inst, unsigned Insn, in DecodeT2BInstruction() argument
2893 unsigned S = fieldFromInstruction(Insn, 26, 1); in DecodeT2BInstruction()
2894 unsigned J1 = fieldFromInstruction(Insn, 13, 1); in DecodeT2BInstruction()
2895 unsigned J2 = fieldFromInstruction(Insn, 11, 1); in DecodeT2BInstruction()
2898 unsigned imm10 = fieldFromInstruction(Insn, 16, 10); in DecodeT2BInstruction()
2899 unsigned imm11 = fieldFromInstruction(Insn, 0, 11); in DecodeT2BInstruction()
2909 static DecodeStatus DecodeBranchImmInstruction(MCInst &Inst, unsigned Insn, in DecodeBranchImmInstruction() argument
2914 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeBranchImmInstruction()
2915 unsigned imm = fieldFromInstruction(Insn, 0, 24) << 2; in DecodeBranchImmInstruction()
2919 imm |= fieldFromInstruction(Insn, 24, 1) << 1; in DecodeBranchImmInstruction()
2957 static DecodeStatus DecodeVLDInstruction(MCInst &Inst, unsigned Insn, in DecodeVLDInstruction() argument
2962 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLDInstruction()
2963 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLDInstruction()
2964 unsigned wb = fieldFromInstruction(Insn, 16, 4); in DecodeVLDInstruction()
2965 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLDInstruction()
2966 Rn |= fieldFromInstruction(Insn, 4, 2) << 4; in DecodeVLDInstruction()
2967 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLDInstruction()
3234 static DecodeStatus DecodeVLDST1Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST1Instruction() argument
3237 unsigned type = fieldFromInstruction(Insn, 8, 4); in DecodeVLDST1Instruction()
3238 unsigned align = fieldFromInstruction(Insn, 4, 2); in DecodeVLDST1Instruction()
3243 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST1Instruction()
3244 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST1Instruction()
3245 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST1Instruction()
3248 static DecodeStatus DecodeVLDST2Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST2Instruction() argument
3251 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLDST2Instruction()
3254 unsigned type = fieldFromInstruction(Insn, 8, 4); in DecodeVLDST2Instruction()
3255 unsigned align = fieldFromInstruction(Insn, 4, 2); in DecodeVLDST2Instruction()
3259 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST2Instruction()
3260 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST2Instruction()
3261 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST2Instruction()
3264 static DecodeStatus DecodeVLDST3Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST3Instruction() argument
3267 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLDST3Instruction()
3270 unsigned align = fieldFromInstruction(Insn, 4, 2); in DecodeVLDST3Instruction()
3273 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST3Instruction()
3274 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST3Instruction()
3275 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST3Instruction()
3278 static DecodeStatus DecodeVLDST4Instruction(MCInst &Inst, unsigned Insn, in DecodeVLDST4Instruction() argument
3281 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLDST4Instruction()
3284 unsigned load = fieldFromInstruction(Insn, 21, 1); in DecodeVLDST4Instruction()
3285 return load ? DecodeVLDInstruction(Inst, Insn, Address, Decoder) in DecodeVLDST4Instruction()
3286 : DecodeVSTInstruction(Inst, Insn, Address, Decoder); in DecodeVLDST4Instruction()
3289 static DecodeStatus DecodeVSTInstruction(MCInst &Inst, unsigned Insn, in DecodeVSTInstruction() argument
3294 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVSTInstruction()
3295 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVSTInstruction()
3296 unsigned wb = fieldFromInstruction(Insn, 16, 4); in DecodeVSTInstruction()
3297 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVSTInstruction()
3298 Rn |= fieldFromInstruction(Insn, 4, 2) << 4; in DecodeVSTInstruction()
3299 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVSTInstruction()
3560 static DecodeStatus DecodeVLD1DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD1DupInstruction() argument
3565 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD1DupInstruction()
3566 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD1DupInstruction()
3567 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD1DupInstruction()
3568 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD1DupInstruction()
3569 unsigned align = fieldFromInstruction(Insn, 4, 1); in DecodeVLD1DupInstruction()
3570 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLD1DupInstruction()
3608 static DecodeStatus DecodeVLD2DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD2DupInstruction() argument
3613 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD2DupInstruction()
3614 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD2DupInstruction()
3615 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD2DupInstruction()
3616 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD2DupInstruction()
3617 unsigned align = fieldFromInstruction(Insn, 4, 1); in DecodeVLD2DupInstruction()
3618 unsigned size = 1 << fieldFromInstruction(Insn, 6, 2); in DecodeVLD2DupInstruction()
3657 static DecodeStatus DecodeVLD3DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD3DupInstruction() argument
3662 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD3DupInstruction()
3663 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD3DupInstruction()
3664 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD3DupInstruction()
3665 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD3DupInstruction()
3666 unsigned inc = fieldFromInstruction(Insn, 5, 1) + 1; in DecodeVLD3DupInstruction()
3693 static DecodeStatus DecodeVLD4DupInstruction(MCInst &Inst, unsigned Insn, in DecodeVLD4DupInstruction() argument
3698 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD4DupInstruction()
3699 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD4DupInstruction()
3700 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD4DupInstruction()
3701 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD4DupInstruction()
3702 unsigned size = fieldFromInstruction(Insn, 6, 2); in DecodeVLD4DupInstruction()
3703 unsigned inc = fieldFromInstruction(Insn, 5, 1) + 1; in DecodeVLD4DupInstruction()
3704 unsigned align = fieldFromInstruction(Insn, 4, 1); in DecodeVLD4DupInstruction()
3746 static DecodeStatus DecodeVMOVModImmInstruction(MCInst &Inst, unsigned Insn, in DecodeVMOVModImmInstruction() argument
3751 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVMOVModImmInstruction()
3752 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVMOVModImmInstruction()
3753 unsigned imm = fieldFromInstruction(Insn, 0, 4); in DecodeVMOVModImmInstruction()
3754 imm |= fieldFromInstruction(Insn, 16, 3) << 4; in DecodeVMOVModImmInstruction()
3755 imm |= fieldFromInstruction(Insn, 24, 1) << 7; in DecodeVMOVModImmInstruction()
3756 imm |= fieldFromInstruction(Insn, 8, 4) << 8; in DecodeVMOVModImmInstruction()
3757 imm |= fieldFromInstruction(Insn, 5, 1) << 12; in DecodeVMOVModImmInstruction()
3758 unsigned Q = fieldFromInstruction(Insn, 6, 1); in DecodeVMOVModImmInstruction()
3792 static DecodeStatus DecodeMVEModImmInstruction(MCInst &Inst, unsigned Insn, in DecodeMVEModImmInstruction() argument
3797 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEModImmInstruction()
3798 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEModImmInstruction()
3799 unsigned cmode = fieldFromInstruction(Insn, 8, 4); in DecodeMVEModImmInstruction()
3800 unsigned imm = fieldFromInstruction(Insn, 0, 4); in DecodeMVEModImmInstruction()
3801 imm |= fieldFromInstruction(Insn, 16, 3) << 4; in DecodeMVEModImmInstruction()
3802 imm |= fieldFromInstruction(Insn, 28, 1) << 7; in DecodeMVEModImmInstruction()
3804 imm |= fieldFromInstruction(Insn, 5, 1) << 12; in DecodeMVEModImmInstruction()
3821 static DecodeStatus DecodeMVEVADCInstruction(MCInst &Inst, unsigned Insn, in DecodeMVEVADCInstruction() argument
3826 unsigned Qd = fieldFromInstruction(Insn, 13, 3); in DecodeMVEVADCInstruction()
3827 Qd |= fieldFromInstruction(Insn, 22, 1) << 3; in DecodeMVEVADCInstruction()
3832 unsigned Qn = fieldFromInstruction(Insn, 17, 3); in DecodeMVEVADCInstruction()
3833 Qn |= fieldFromInstruction(Insn, 7, 1) << 3; in DecodeMVEVADCInstruction()
3836 unsigned Qm = fieldFromInstruction(Insn, 1, 3); in DecodeMVEVADCInstruction()
3837 Qm |= fieldFromInstruction(Insn, 5, 1) << 3; in DecodeMVEVADCInstruction()
3840 if (!fieldFromInstruction(Insn, 12, 1)) // I bit clear => need input FPSCR in DecodeMVEVADCInstruction()
3847 static DecodeStatus DecodeVSHLMaxInstruction(MCInst &Inst, unsigned Insn, in DecodeVSHLMaxInstruction() argument
3852 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVSHLMaxInstruction()
3853 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVSHLMaxInstruction()
3854 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVSHLMaxInstruction()
3855 Rm |= fieldFromInstruction(Insn, 5, 1) << 4; in DecodeVSHLMaxInstruction()
3856 unsigned size = fieldFromInstruction(Insn, 18, 2); in DecodeVSHLMaxInstruction()
3895 static DecodeStatus DecodeTBLInstruction(MCInst &Inst, unsigned Insn, in DecodeTBLInstruction() argument
3900 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeTBLInstruction()
3901 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeTBLInstruction()
3902 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeTBLInstruction()
3903 Rn |= fieldFromInstruction(Insn, 7, 1) << 4; in DecodeTBLInstruction()
3904 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeTBLInstruction()
3905 Rm |= fieldFromInstruction(Insn, 5, 1) << 4; in DecodeTBLInstruction()
3906 unsigned op = fieldFromInstruction(Insn, 6, 1); in DecodeTBLInstruction()
3932 static DecodeStatus DecodeThumbAddSpecialReg(MCInst &Inst, uint16_t Insn, in DecodeThumbAddSpecialReg() argument
3937 unsigned dst = fieldFromInstruction(Insn, 8, 3); in DecodeThumbAddSpecialReg()
3938 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeThumbAddSpecialReg()
4065 static DecodeStatus DecodeT2LoadShift(MCInst &Inst, unsigned Insn, in DecodeT2LoadShift() argument
4070 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadShift()
4071 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadShift()
4106 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadShift()
4140 unsigned addrmode = fieldFromInstruction(Insn, 4, 2); in DecodeT2LoadShift()
4141 addrmode |= fieldFromInstruction(Insn, 0, 4) << 2; in DecodeT2LoadShift()
4142 addrmode |= fieldFromInstruction(Insn, 16, 4) << 6; in DecodeT2LoadShift()
4149 static DecodeStatus DecodeT2LoadImm8(MCInst &Inst, unsigned Insn, in DecodeT2LoadImm8() argument
4154 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadImm8()
4155 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadImm8()
4156 unsigned U = fieldFromInstruction(Insn, 9, 1); in DecodeT2LoadImm8()
4157 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2LoadImm8()
4160 unsigned add = fieldFromInstruction(Insn, 9, 1); in DecodeT2LoadImm8()
4194 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadImm8()
4234 static DecodeStatus DecodeT2LoadImm12(MCInst &Inst, unsigned Insn, in DecodeT2LoadImm12() argument
4239 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadImm12()
4240 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadImm12()
4241 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeT2LoadImm12()
4276 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadImm12()
4315 static DecodeStatus DecodeT2LoadT(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeT2LoadT() argument
4319 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LoadT()
4320 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadT()
4321 unsigned imm = fieldFromInstruction(Insn, 0, 8); in DecodeT2LoadT()
4344 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LoadT()
4354 static DecodeStatus DecodeT2LoadLabel(MCInst &Inst, unsigned Insn, in DecodeT2LoadLabel() argument
4359 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LoadLabel()
4360 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeT2LoadLabel()
4361 int imm = fieldFromInstruction(Insn, 0, 12); in DecodeT2LoadLabel()
4595 static DecodeStatus DecodeT2LdStPre(MCInst &Inst, unsigned Insn, in DecodeT2LdStPre() argument
4600 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LdStPre()
4601 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LdStPre()
4602 unsigned addr = fieldFromInstruction(Insn, 0, 8); in DecodeT2LdStPre()
4603 addr |= fieldFromInstruction(Insn, 9, 1) << 8; in DecodeT2LdStPre()
4605 unsigned load = fieldFromInstruction(Insn, 20, 1); in DecodeT2LdStPre()
4635 return DecodeT2LoadLabel(Inst, Insn, Address, Decoder); in DecodeT2LdStPre()
4684 static DecodeStatus DecodeThumbAddSPImm(MCInst &Inst, uint16_t Insn, in DecodeThumbAddSPImm() argument
4687 unsigned imm = fieldFromInstruction(Insn, 0, 7); in DecodeThumbAddSPImm()
4696 static DecodeStatus DecodeThumbAddSPReg(MCInst &Inst, uint16_t Insn, in DecodeThumbAddSPReg() argument
4702 unsigned Rdm = fieldFromInstruction(Insn, 0, 3); in DecodeThumbAddSPReg()
4703 Rdm |= fieldFromInstruction(Insn, 7, 1) << 3; in DecodeThumbAddSPReg()
4711 unsigned Rm = fieldFromInstruction(Insn, 3, 4); in DecodeThumbAddSPReg()
4722 static DecodeStatus DecodeThumbCPS(MCInst &Inst, uint16_t Insn, in DecodeThumbCPS() argument
4725 unsigned imod = fieldFromInstruction(Insn, 4, 1) | 0x2; in DecodeThumbCPS()
4726 unsigned flags = fieldFromInstruction(Insn, 0, 3); in DecodeThumbCPS()
4734 static DecodeStatus DecodePostIdxReg(MCInst &Inst, unsigned Insn, in DecodePostIdxReg() argument
4738 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodePostIdxReg()
4739 unsigned add = fieldFromInstruction(Insn, 4, 1); in DecodePostIdxReg()
4748 static DecodeStatus DecodeMveAddrModeRQ(MCInst &Inst, unsigned Insn, in DecodeMveAddrModeRQ() argument
4752 unsigned Rn = fieldFromInstruction(Insn, 3, 4); in DecodeMveAddrModeRQ()
4753 unsigned Qm = fieldFromInstruction(Insn, 0, 3); in DecodeMveAddrModeRQ()
4764 static DecodeStatus DecodeMveAddrModeQ(MCInst &Inst, unsigned Insn, in DecodeMveAddrModeQ() argument
4768 unsigned Qm = fieldFromInstruction(Insn, 8, 3); in DecodeMveAddrModeQ()
4769 int imm = fieldFromInstruction(Insn, 0, 7); in DecodeMveAddrModeQ()
4774 if(!fieldFromInstruction(Insn, 7, 1)) { in DecodeMveAddrModeQ()
4828 static DecodeStatus DecodeThumbTableBranch(MCInst &Inst, unsigned Insn, in DecodeThumbTableBranch() argument
4835 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeThumbTableBranch()
4836 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeThumbTableBranch()
4846 static DecodeStatus DecodeThumb2BCCInstruction(MCInst &Inst, unsigned Insn, in DecodeThumb2BCCInstruction() argument
4851 unsigned pred = fieldFromInstruction(Insn, 22, 4); in DecodeThumb2BCCInstruction()
4853 unsigned opc = fieldFromInstruction(Insn, 4, 28); in DecodeThumb2BCCInstruction()
4868 unsigned imm = fieldFromInstruction(Insn, 0, 4); in DecodeThumb2BCCInstruction()
4872 unsigned brtarget = fieldFromInstruction(Insn, 0, 11) << 1; in DecodeThumb2BCCInstruction()
4873 brtarget |= fieldFromInstruction(Insn, 11, 1) << 19; in DecodeThumb2BCCInstruction()
4874 brtarget |= fieldFromInstruction(Insn, 13, 1) << 18; in DecodeThumb2BCCInstruction()
4875 brtarget |= fieldFromInstruction(Insn, 16, 6) << 12; in DecodeThumb2BCCInstruction()
4876 brtarget |= fieldFromInstruction(Insn, 26, 1) << 20; in DecodeThumb2BCCInstruction()
5090 static DecodeStatus DecodeDoubleRegLoad(MCInst &Inst, unsigned Insn, in DecodeDoubleRegLoad() argument
5095 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeDoubleRegLoad()
5096 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeDoubleRegLoad()
5097 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeDoubleRegLoad()
5112 static DecodeStatus DecodeDoubleRegStore(MCInst &Inst, unsigned Insn, in DecodeDoubleRegStore() argument
5117 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeDoubleRegStore()
5118 unsigned Rt = fieldFromInstruction(Insn, 0, 4); in DecodeDoubleRegStore()
5119 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeDoubleRegStore()
5120 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeDoubleRegStore()
5138 static DecodeStatus DecodeLDRPreImm(MCInst &Inst, unsigned Insn, in DecodeLDRPreImm() argument
5143 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeLDRPreImm()
5144 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeLDRPreImm()
5145 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeLDRPreImm()
5146 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeLDRPreImm()
5147 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeLDRPreImm()
5148 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeLDRPreImm()
5164 static DecodeStatus DecodeLDRPreReg(MCInst &Inst, unsigned Insn, in DecodeLDRPreReg() argument
5169 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeLDRPreReg()
5170 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeLDRPreReg()
5171 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeLDRPreReg()
5172 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeLDRPreReg()
5173 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeLDRPreReg()
5174 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeLDRPreReg()
5175 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeLDRPreReg()
5192 static DecodeStatus DecodeSTRPreImm(MCInst &Inst, unsigned Insn, in DecodeSTRPreImm() argument
5197 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeSTRPreImm()
5198 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeSTRPreImm()
5199 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeSTRPreImm()
5200 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeSTRPreImm()
5201 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeSTRPreImm()
5202 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSTRPreImm()
5218 static DecodeStatus DecodeSTRPreReg(MCInst &Inst, unsigned Insn, in DecodeSTRPreReg() argument
5223 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeSTRPreReg()
5224 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeSTRPreReg()
5225 unsigned imm = fieldFromInstruction(Insn, 0, 12); in DecodeSTRPreReg()
5226 imm |= fieldFromInstruction(Insn, 16, 4) << 13; in DecodeSTRPreReg()
5227 imm |= fieldFromInstruction(Insn, 23, 1) << 12; in DecodeSTRPreReg()
5228 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSTRPreReg()
5244 static DecodeStatus DecodeVLD1LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD1LN() argument
5248 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD1LN()
5249 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD1LN()
5250 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD1LN()
5251 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD1LN()
5252 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD1LN()
5260 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD1LN()
5262 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD1LN()
5265 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD1LN()
5267 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD1LN()
5268 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD1LN()
5272 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD1LN()
5274 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD1LN()
5276 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVLD1LN()
5311 static DecodeStatus DecodeVST1LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST1LN() argument
5315 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST1LN()
5316 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST1LN()
5317 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST1LN()
5318 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST1LN()
5319 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST1LN()
5327 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST1LN()
5329 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST1LN()
5332 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST1LN()
5334 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST1LN()
5335 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST1LN()
5339 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST1LN()
5341 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST1LN()
5343 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVST1LN()
5376 static DecodeStatus DecodeVLD2LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD2LN() argument
5380 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD2LN()
5381 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD2LN()
5382 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD2LN()
5383 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD2LN()
5384 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD2LN()
5393 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD2LN()
5394 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD2LN()
5398 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD2LN()
5399 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD2LN()
5401 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD2LN()
5405 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD2LN()
5407 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD2LN()
5408 if (fieldFromInstruction(Insn, 4, 1) != 0) in DecodeVLD2LN()
5410 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD2LN()
5443 static DecodeStatus DecodeVST2LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST2LN() argument
5447 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST2LN()
5448 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST2LN()
5449 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST2LN()
5450 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST2LN()
5451 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST2LN()
5460 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST2LN()
5461 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST2LN()
5465 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST2LN()
5466 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST2LN()
5468 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST2LN()
5472 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST2LN()
5474 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST2LN()
5475 if (fieldFromInstruction(Insn, 4, 1) != 0) in DecodeVST2LN()
5477 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST2LN()
5506 static DecodeStatus DecodeVLD3LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD3LN() argument
5510 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD3LN()
5511 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD3LN()
5512 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD3LN()
5513 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD3LN()
5514 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD3LN()
5523 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD3LN()
5525 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD3LN()
5528 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD3LN()
5530 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD3LN()
5531 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD3LN()
5535 if (fieldFromInstruction(Insn, 4, 2)) in DecodeVLD3LN()
5537 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD3LN()
5538 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD3LN()
5576 static DecodeStatus DecodeVST3LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST3LN() argument
5580 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST3LN()
5581 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST3LN()
5582 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST3LN()
5583 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST3LN()
5584 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST3LN()
5593 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST3LN()
5595 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST3LN()
5598 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST3LN()
5600 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST3LN()
5601 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST3LN()
5605 if (fieldFromInstruction(Insn, 4, 2)) in DecodeVST3LN()
5607 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST3LN()
5608 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST3LN()
5639 static DecodeStatus DecodeVLD4LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVLD4LN() argument
5643 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVLD4LN()
5644 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVLD4LN()
5645 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVLD4LN()
5646 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVLD4LN()
5647 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVLD4LN()
5656 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD4LN()
5658 index = fieldFromInstruction(Insn, 5, 3); in DecodeVLD4LN()
5661 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVLD4LN()
5663 index = fieldFromInstruction(Insn, 6, 2); in DecodeVLD4LN()
5664 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVLD4LN()
5668 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVLD4LN()
5674 align = 4 << fieldFromInstruction(Insn, 4, 2); break; in DecodeVLD4LN()
5677 index = fieldFromInstruction(Insn, 7, 1); in DecodeVLD4LN()
5678 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVLD4LN()
5720 static DecodeStatus DecodeVST4LN(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVST4LN() argument
5724 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeVST4LN()
5725 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeVST4LN()
5726 unsigned Rd = fieldFromInstruction(Insn, 12, 4); in DecodeVST4LN()
5727 Rd |= fieldFromInstruction(Insn, 22, 1) << 4; in DecodeVST4LN()
5728 unsigned size = fieldFromInstruction(Insn, 10, 2); in DecodeVST4LN()
5737 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST4LN()
5739 index = fieldFromInstruction(Insn, 5, 3); in DecodeVST4LN()
5742 if (fieldFromInstruction(Insn, 4, 1)) in DecodeVST4LN()
5744 index = fieldFromInstruction(Insn, 6, 2); in DecodeVST4LN()
5745 if (fieldFromInstruction(Insn, 5, 1)) in DecodeVST4LN()
5749 switch (fieldFromInstruction(Insn, 4, 2)) { in DecodeVST4LN()
5755 align = 4 << fieldFromInstruction(Insn, 4, 2); break; in DecodeVST4LN()
5758 index = fieldFromInstruction(Insn, 7, 1); in DecodeVST4LN()
5759 if (fieldFromInstruction(Insn, 6, 1)) in DecodeVST4LN()
5792 static DecodeStatus DecodeVMOVSRR(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVMOVSRR() argument
5795 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeVMOVSRR()
5796 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeVMOVSRR()
5797 unsigned Rm = fieldFromInstruction(Insn, 5, 1); in DecodeVMOVSRR()
5798 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeVMOVSRR()
5799 Rm |= fieldFromInstruction(Insn, 0, 4) << 1; in DecodeVMOVSRR()
5818 static DecodeStatus DecodeVMOVRRS(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVMOVRRS() argument
5821 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeVMOVRRS()
5822 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeVMOVRRS()
5823 unsigned Rm = fieldFromInstruction(Insn, 5, 1); in DecodeVMOVRRS()
5824 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeVMOVRRS()
5825 Rm |= fieldFromInstruction(Insn, 0, 4) << 1; in DecodeVMOVRRS()
5844 static DecodeStatus DecodeIT(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeIT() argument
5847 unsigned pred = fieldFromInstruction(Insn, 4, 4); in DecodeIT()
5848 unsigned mask = fieldFromInstruction(Insn, 0, 4); in DecodeIT()
5873 static DecodeStatus DecodeT2LDRDPreInstruction(MCInst &Inst, unsigned Insn, in DecodeT2LDRDPreInstruction() argument
5878 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2LDRDPreInstruction()
5879 unsigned Rt2 = fieldFromInstruction(Insn, 8, 4); in DecodeT2LDRDPreInstruction()
5880 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2LDRDPreInstruction()
5881 unsigned addr = fieldFromInstruction(Insn, 0, 8); in DecodeT2LDRDPreInstruction()
5882 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeT2LDRDPreInstruction()
5883 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeT2LDRDPreInstruction()
5884 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeT2LDRDPreInstruction()
5910 static DecodeStatus DecodeT2STRDPreInstruction(MCInst &Inst, unsigned Insn, in DecodeT2STRDPreInstruction() argument
5915 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeT2STRDPreInstruction()
5916 unsigned Rt2 = fieldFromInstruction(Insn, 8, 4); in DecodeT2STRDPreInstruction()
5917 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2STRDPreInstruction()
5918 unsigned addr = fieldFromInstruction(Insn, 0, 8); in DecodeT2STRDPreInstruction()
5919 unsigned W = fieldFromInstruction(Insn, 21, 1); in DecodeT2STRDPreInstruction()
5920 unsigned U = fieldFromInstruction(Insn, 23, 1); in DecodeT2STRDPreInstruction()
5921 unsigned P = fieldFromInstruction(Insn, 24, 1); in DecodeT2STRDPreInstruction()
5945 static DecodeStatus DecodeT2Adr(MCInst &Inst, uint32_t Insn, uint64_t Address, in DecodeT2Adr() argument
5947 unsigned sign1 = fieldFromInstruction(Insn, 21, 1); in DecodeT2Adr()
5948 unsigned sign2 = fieldFromInstruction(Insn, 23, 1); in DecodeT2Adr()
5950 const unsigned Rd = fieldFromInstruction(Insn, 8, 4); in DecodeT2Adr()
5954 unsigned Val = fieldFromInstruction(Insn, 0, 8); in DecodeT2Adr()
5955 Val |= fieldFromInstruction(Insn, 12, 3) << 8; in DecodeT2Adr()
5956 Val |= fieldFromInstruction(Insn, 26, 1) << 11; in DecodeT2Adr()
5982 static DecodeStatus DecodeSwap(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeSwap() argument
5984 unsigned Rt = fieldFromInstruction(Insn, 12, 4); in DecodeSwap()
5985 unsigned Rt2 = fieldFromInstruction(Insn, 0, 4); in DecodeSwap()
5986 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeSwap()
5987 unsigned pred = fieldFromInstruction(Insn, 28, 4); in DecodeSwap()
5990 return DecodeCPSInstruction(Inst, Insn, Address, Decoder); in DecodeSwap()
6009 static DecodeStatus DecodeVCVTD(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVCVTD() argument
6015 unsigned Vd = (fieldFromInstruction(Insn, 12, 4) << 0); in DecodeVCVTD()
6016 Vd |= (fieldFromInstruction(Insn, 22, 1) << 4); in DecodeVCVTD()
6017 unsigned Vm = (fieldFromInstruction(Insn, 0, 4) << 0); in DecodeVCVTD()
6018 Vm |= (fieldFromInstruction(Insn, 5, 1) << 4); in DecodeVCVTD()
6019 unsigned imm = fieldFromInstruction(Insn, 16, 6); in DecodeVCVTD()
6020 unsigned cmode = fieldFromInstruction(Insn, 8, 4); in DecodeVCVTD()
6021 unsigned op = fieldFromInstruction(Insn, 5, 1); in DecodeVCVTD()
6054 return DecodeVMOVModImmInstruction(Inst, Insn, Address, Decoder); in DecodeVCVTD()
6068 static DecodeStatus DecodeVCVTQ(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVCVTQ() argument
6074 unsigned Vd = (fieldFromInstruction(Insn, 12, 4) << 0); in DecodeVCVTQ()
6075 Vd |= (fieldFromInstruction(Insn, 22, 1) << 4); in DecodeVCVTQ()
6076 unsigned Vm = (fieldFromInstruction(Insn, 0, 4) << 0); in DecodeVCVTQ()
6077 Vm |= (fieldFromInstruction(Insn, 5, 1) << 4); in DecodeVCVTQ()
6078 unsigned imm = fieldFromInstruction(Insn, 16, 6); in DecodeVCVTQ()
6079 unsigned cmode = fieldFromInstruction(Insn, 8, 4); in DecodeVCVTQ()
6080 unsigned op = fieldFromInstruction(Insn, 5, 1); in DecodeVCVTQ()
6113 return DecodeVMOVModImmInstruction(Inst, Insn, Address, Decoder); in DecodeVCVTQ()
6128 DecodeNEONComplexLane64Instruction(MCInst &Inst, unsigned Insn, in DecodeNEONComplexLane64Instruction() argument
6131 unsigned Vd = (fieldFromInstruction(Insn, 12, 4) << 0); in DecodeNEONComplexLane64Instruction()
6132 Vd |= (fieldFromInstruction(Insn, 22, 1) << 4); in DecodeNEONComplexLane64Instruction()
6133 unsigned Vn = (fieldFromInstruction(Insn, 16, 4) << 0); in DecodeNEONComplexLane64Instruction()
6134 Vn |= (fieldFromInstruction(Insn, 7, 1) << 4); in DecodeNEONComplexLane64Instruction()
6135 unsigned Vm = (fieldFromInstruction(Insn, 0, 4) << 0); in DecodeNEONComplexLane64Instruction()
6136 Vm |= (fieldFromInstruction(Insn, 5, 1) << 4); in DecodeNEONComplexLane64Instruction()
6137 unsigned q = (fieldFromInstruction(Insn, 6, 1) << 0); in DecodeNEONComplexLane64Instruction()
6138 unsigned rotate = (fieldFromInstruction(Insn, 20, 2) << 0); in DecodeNEONComplexLane64Instruction()
6325 static DecodeStatus DecodeLOLoop(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeLOLoop() argument
6332 unsigned Imm = fieldFromInstruction(Insn, 11, 1) | in DecodeLOLoop()
6333 fieldFromInstruction(Insn, 1, 10) << 1; in DecodeLOLoop()
6352 DecoderGPRRegisterClass(Inst, fieldFromInstruction(Insn, 16, 4), in DecodeLOLoop()
6363 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeLOLoop()
6369 if ((Insn & ~SBZMask) != CanonicalLCTP) in DecodeLOLoop()
6371 if (Insn != CanonicalLCTP) in DecodeLOLoop()
6378 fieldFromInstruction(Insn, 16, 4), in DecodeLOLoop()
6440 static DecodeStatus DecodeVSCCLRM(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeVSCCLRM() argument
6447 unsigned reglist = (fieldFromInstruction(Insn, 1, 7) << 1) | in DecodeVSCCLRM()
6448 (fieldFromInstruction(Insn, 12, 4) << 8) | in DecodeVSCCLRM()
6449 (fieldFromInstruction(Insn, 22, 1) << 12); in DecodeVSCCLRM()
6454 unsigned reglist = fieldFromInstruction(Insn, 0, 8) | in DecodeVSCCLRM()
6455 (fieldFromInstruction(Insn, 22, 1) << 8) | in DecodeVSCCLRM()
6456 (fieldFromInstruction(Insn, 12, 4) << 9); in DecodeVSCCLRM()
6792 static DecodeStatus DecodeMVEVMOVQtoDReg(MCInst &Inst, unsigned Insn, in DecodeMVEVMOVQtoDReg() argument
6796 unsigned Rt = fieldFromInstruction(Insn, 0, 4); in DecodeMVEVMOVQtoDReg()
6797 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeMVEVMOVQtoDReg()
6798 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEVMOVQtoDReg()
6799 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEVMOVQtoDReg()
6800 unsigned index = fieldFromInstruction(Insn, 4, 1); in DecodeMVEVMOVQtoDReg()
6816 static DecodeStatus DecodeMVEVMOVDRegtoQ(MCInst &Inst, unsigned Insn, in DecodeMVEVMOVDRegtoQ() argument
6820 unsigned Rt = fieldFromInstruction(Insn, 0, 4); in DecodeMVEVMOVDRegtoQ()
6821 unsigned Rt2 = fieldFromInstruction(Insn, 16, 4); in DecodeMVEVMOVDRegtoQ()
6822 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEVMOVDRegtoQ()
6823 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEVMOVDRegtoQ()
6824 unsigned index = fieldFromInstruction(Insn, 4, 1); in DecodeMVEVMOVDRegtoQ()
6843 DecodeMVEOverlappingLongShift(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeMVEOverlappingLongShift() argument
6847 unsigned RdaLo = fieldFromInstruction(Insn, 17, 3) << 1; in DecodeMVEOverlappingLongShift()
6848 unsigned RdaHi = fieldFromInstruction(Insn, 9, 3) << 1; in DecodeMVEOverlappingLongShift()
6849 unsigned Rm = fieldFromInstruction(Insn, 12, 4); in DecodeMVEOverlappingLongShift()
6857 unsigned Rda = fieldFromInstruction(Insn, 16, 4); in DecodeMVEOverlappingLongShift()
6884 if (fieldFromInstruction (Insn, 6, 3) != 4) in DecodeMVEOverlappingLongShift()
6914 unsigned Saturate = fieldFromInstruction(Insn, 7, 1); in DecodeMVEOverlappingLongShift()
6922 static DecodeStatus DecodeMVEVCVTt1fp(MCInst &Inst, unsigned Insn, in DecodeMVEVCVTt1fp() argument
6926 unsigned Qd = ((fieldFromInstruction(Insn, 22, 1) << 3) | in DecodeMVEVCVTt1fp()
6927 fieldFromInstruction(Insn, 13, 3)); in DecodeMVEVCVTt1fp()
6928 unsigned Qm = ((fieldFromInstruction(Insn, 5, 1) << 3) | in DecodeMVEVCVTt1fp()
6929 fieldFromInstruction(Insn, 1, 3)); in DecodeMVEVCVTt1fp()
6930 unsigned imm6 = fieldFromInstruction(Insn, 16, 6); in DecodeMVEVCVTt1fp()
6943 static DecodeStatus DecodeMVEVCMP(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeMVEVCMP() argument
6947 unsigned Qn = fieldFromInstruction(Insn, 17, 3); in DecodeMVEVCMP()
6954 fc = fieldFromInstruction(Insn, 12, 1) << 2 | in DecodeMVEVCMP()
6955 fieldFromInstruction(Insn, 7, 1) | in DecodeMVEVCMP()
6956 fieldFromInstruction(Insn, 5, 1) << 1; in DecodeMVEVCMP()
6957 unsigned Rm = fieldFromInstruction(Insn, 0, 4); in DecodeMVEVCMP()
6961 fc = fieldFromInstruction(Insn, 12, 1) << 2 | in DecodeMVEVCMP()
6962 fieldFromInstruction(Insn, 7, 1) | in DecodeMVEVCMP()
6963 fieldFromInstruction(Insn, 0, 1) << 1; in DecodeMVEVCMP()
6964 unsigned Qm = fieldFromInstruction(Insn, 5, 1) << 4 | in DecodeMVEVCMP()
6965 fieldFromInstruction(Insn, 1, 3); in DecodeMVEVCMP()
6980 static DecodeStatus DecodeMveVCTP(MCInst &Inst, unsigned Insn, uint64_t Address, in DecodeMveVCTP() argument
6984 unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeMveVCTP()
6990 static DecodeStatus DecodeMVEVPNOT(MCInst &Inst, unsigned Insn, in DecodeMVEVPNOT() argument
6999 static DecodeStatus DecodeT2AddSubSPImm(MCInst &Inst, unsigned Insn, in DecodeT2AddSubSPImm() argument
7002 const unsigned Rd = fieldFromInstruction(Insn, 8, 4); in DecodeT2AddSubSPImm()
7003 const unsigned Rn = fieldFromInstruction(Insn, 16, 4); in DecodeT2AddSubSPImm()
7004 const unsigned Imm12 = fieldFromInstruction(Insn, 26, 1) << 11 | in DecodeT2AddSubSPImm()
7005 fieldFromInstruction(Insn, 12, 3) << 8 | in DecodeT2AddSubSPImm()
7006 fieldFromInstruction(Insn, 0, 8); in DecodeT2AddSubSPImm()
7007 const unsigned TypeT3 = fieldFromInstruction(Insn, 25, 1); in DecodeT2AddSubSPImm()
7008 unsigned sign1 = fieldFromInstruction(Insn, 21, 1); in DecodeT2AddSubSPImm()
7009 unsigned sign2 = fieldFromInstruction(Insn, 23, 1); in DecodeT2AddSubSPImm()
7010 unsigned S = fieldFromInstruction(Insn, 20, 1); in DecodeT2AddSubSPImm()