Not sure about BLXi, but this is what the old disassembler did.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137156
91177308-0d34-0410-b5e6-
96231b3b80d8
if (pred == 0xF) {
Inst.setOpcode(ARM::BLXi);
imm |= fieldFromInstruction32(Insn, 24, 1) << 1;
- Inst.addOperand(MCOperand::CreateImm(imm));
+ Inst.addOperand(MCOperand::CreateImm(SignExtend32<26>(imm)));
return true;
}
- Inst.addOperand(MCOperand::CreateImm(imm));
+ Inst.addOperand(MCOperand::CreateImm(SignExtend32<26>(imm)));
if (!DecodePredicateOperand(Inst, pred, Address, Decoder)) return false;
return true;
# CHECK: stc2 p2, cr4, [r9], {157}
0x9d 0x42 0x89 0xfc
+# CHECK: bne #-24
+0xfa 0xff 0xff 0x1a
+
# CHECK: blx #60
0x0f 0x00 0x00 0xfa