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

Function DecodeDoubleRegStore

arch/ARM/ARMDisassembler.c:4515–4540  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4513}
4514
4515static DecodeStatus DecodeDoubleRegStore(MCInst *Inst, unsigned Insn,
4516 uint64_t Address, const void *Decoder)
4517{
4518 DecodeStatus S = MCDisassembler_Success;
4519 unsigned Rd = fieldFromInstruction_4(Insn, 12, 4);
4520 unsigned Rt = fieldFromInstruction_4(Insn, 0, 4);
4521 unsigned Rn = fieldFromInstruction_4(Insn, 16, 4);
4522 unsigned pred = fieldFromInstruction_4(Insn, 28, 4);
4523
4524 if (!Check(&S, DecodeGPRnopcRegisterClass(Inst, Rd, Address, Decoder)))
4525 return MCDisassembler_Fail;
4526
4527 if (Rn == 0xF || Rd == Rn || Rd == Rt || Rd == Rt + 1)
4528 S = MCDisassembler_SoftFail;
4529
4530 if (!Check(&S, DecodeGPRPairRegisterClass(Inst, Rt, Address, Decoder)))
4531 return MCDisassembler_Fail;
4532
4533 if (!Check(&S, DecodeGPRRegisterClass(Inst, Rn, Address, Decoder)))
4534 return MCDisassembler_Fail;
4535
4536 if (!Check(&S, DecodePredicateOperand(Inst, pred, Address, Decoder)))
4537 return MCDisassembler_Fail;
4538
4539 return S;
4540}
4541
4542static DecodeStatus DecodeLDRPreImm(MCInst *Inst, unsigned Insn,
4543 uint64_t Address, const void *Decoder)

Callers

nothing calls this directly

Calls 5

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…