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

Function DecodeVMOVSRR

arch/ARM/ARMDisassembler.c:5250–5279  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5248}
5249
5250static DecodeStatus DecodeVMOVSRR(MCInst *Inst, unsigned Insn,
5251 uint64_t Address, const void *Decoder)
5252{
5253 DecodeStatus S = MCDisassembler_Success;
5254 unsigned Rt = fieldFromInstruction_4(Insn, 12, 4);
5255 unsigned Rt2 = fieldFromInstruction_4(Insn, 16, 4);
5256 unsigned Rm = fieldFromInstruction_4(Insn, 5, 1);
5257 unsigned pred = fieldFromInstruction_4(Insn, 28, 4);
5258 Rm |= fieldFromInstruction_4(Insn, 0, 4) << 1;
5259
5260 if (Rt == 0xF || Rt2 == 0xF || Rm == 0x1F)
5261 S = MCDisassembler_SoftFail;
5262
5263 if (!Check(&S, DecodeSPRRegisterClass(Inst, Rm , Address, Decoder)))
5264 return MCDisassembler_Fail;
5265
5266 if (!Check(&S, DecodeSPRRegisterClass(Inst, Rm + 1, Address, Decoder)))
5267 return MCDisassembler_Fail;
5268
5269 if (!Check(&S, DecodeGPRRegisterClass(Inst, Rt , Address, Decoder)))
5270 return MCDisassembler_Fail;
5271
5272 if (!Check(&S, DecodeGPRRegisterClass(Inst, Rt2 , Address, Decoder)))
5273 return MCDisassembler_Fail;
5274
5275 if (!Check(&S, DecodePredicateOperand(Inst, pred, Address, Decoder)))
5276 return MCDisassembler_Fail;
5277
5278 return S;
5279}
5280
5281static DecodeStatus DecodeVMOVRRS(MCInst *Inst, unsigned Insn,
5282 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…