MCPcopy Create free account
hub / github.com/capstone-engine/capstone / DecodeVMOVRRS

Function DecodeVMOVRRS

arch/ARM/ARMDisassembler.c:5281–5310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5279}
5280
5281static DecodeStatus DecodeVMOVRRS(MCInst *Inst, unsigned Insn,
5282 uint64_t Address, const void *Decoder)
5283{
5284 DecodeStatus S = MCDisassembler_Success;
5285 unsigned Rt = fieldFromInstruction_4(Insn, 12, 4);
5286 unsigned Rt2 = fieldFromInstruction_4(Insn, 16, 4);
5287 unsigned Rm = fieldFromInstruction_4(Insn, 5, 1);
5288 unsigned pred = fieldFromInstruction_4(Insn, 28, 4);
5289 Rm |= fieldFromInstruction_4(Insn, 0, 4) << 1;
5290
5291 if (Rt == 0xF || Rt2 == 0xF || Rm == 0x1F)
5292 S = MCDisassembler_SoftFail;
5293
5294 if (!Check(&S, DecodeGPRRegisterClass(Inst, Rt , Address, Decoder)))
5295 return MCDisassembler_Fail;
5296
5297 if (!Check(&S, DecodeGPRRegisterClass(Inst, Rt2 , Address, Decoder)))
5298 return MCDisassembler_Fail;
5299
5300 if (!Check(&S, DecodeSPRRegisterClass(Inst, Rm , Address, Decoder)))
5301 return MCDisassembler_Fail;
5302
5303 if (!Check(&S, DecodeSPRRegisterClass(Inst, Rm + 1, Address, Decoder)))
5304 return MCDisassembler_Fail;
5305
5306 if (!Check(&S, DecodePredicateOperand(Inst, pred, Address, Decoder)))
5307 return MCDisassembler_Fail;
5308
5309 return S;
5310}
5311
5312static DecodeStatus DecodeIT(MCInst *Inst, unsigned Insn,
5313 uint64_t Address, const void *Decoder)

Callers

nothing calls this directly

Calls 4

DecodeSPRRegisterClassFunction · 0.85
DecodePredicateOperandFunction · 0.85
CheckFunction · 0.70
DecodeGPRRegisterClassFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…