| 424 | #include "ARMGenDisassemblerTables.inc" |
| 425 | |
| 426 | static DecodeStatus DecodePredicateOperand(MCInst *Inst, unsigned Val, |
| 427 | uint64_t Address, const void *Decoder) |
| 428 | { |
| 429 | if (Val == 0xF) return MCDisassembler_Fail; |
| 430 | |
| 431 | // AL predicate is not allowed on Thumb1 branches. |
| 432 | if (MCInst_getOpcode(Inst) == ARM_tBcc && Val == 0xE) |
| 433 | return MCDisassembler_Fail; |
| 434 | |
| 435 | MCOperand_CreateImm0(Inst, Val); |
| 436 | |
| 437 | if (Val == ARMCC_AL) { |
| 438 | MCOperand_CreateReg0(Inst, 0); |
| 439 | } else |
| 440 | MCOperand_CreateReg0(Inst, ARM_CPSR); |
| 441 | |
| 442 | return MCDisassembler_Success; |
| 443 | } |
| 444 | |
| 445 | #define GET_REGINFO_MC_DESC |
| 446 | #include "ARMGenRegisterInfo.inc" |
no test coverage detected
searching dependent graphs…