259,263c259,267
< if (bits(machInst, 7) == 0)
< return new WarnUnimplemented("bx", machInst);
< else
< // The register version.
< return new WarnUnimplemented("blx", machInst);
---
> if (bits(machInst, 7) == 0) {
> return new BxReg(machInst,
> (IntRegIndex)(uint32_t)bits(machInst, 6, 3),
> COND_UC);
> } else {
> return new BlxReg(machInst,
> (IntRegIndex)(uint32_t)bits(machInst, 6, 3),
> COND_UC);
> }
302c306,309
< return new WarnUnimplemented("cbz", machInst);
---
> return new Cbz(machInst,
> (bits(machInst, 9) << 6) |
> (bits(machInst, 7, 3) << 1),
> (IntRegIndex)(uint32_t)bits(machInst, 2, 0));
315c322,325
< return new WarnUnimplemented("cbnz", machInst);
---
> return new Cbz(machInst,
> (bits(machInst, 9) << 6) |
> (bits(machInst, 7, 3) << 1),
> (IntRegIndex)(uint32_t)bits(machInst, 2, 0));
329c339,342
< return new WarnUnimplemented("cbz", machInst);
---
> return new Cbnz(machInst,
> (bits(machInst, 9) << 6) |
> (bits(machInst, 7, 3) << 1),
> (IntRegIndex)(uint32_t)bits(machInst, 2, 0));
343c356,359
< return new WarnUnimplemented("cbnz", machInst);
---
> return new Cbnz(machInst,
> (bits(machInst, 9) << 6) |
> (bits(machInst, 7, 3) << 1),
> (IntRegIndex)(uint32_t)bits(machInst, 2, 0));