forked from OSchip/llvm-project
ARM Disassembler: sign extend branch immediates.
Not sure about BLXi, but this is what the old disassembler did. llvm-svn: 137156
This commit is contained in:
parent
d151b09921
commit
406dc1755f
|
@ -1214,11 +1214,11 @@ static bool DecodeBranchImmInstruction(llvm::MCInst &Inst, unsigned Insn,
|
|||
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;
|
||||
|
|
|
@ -248,6 +248,9 @@
|
|||
# CHECK: stc2 p2, cr4, [r9], {157}
|
||||
0x9d 0x42 0x89 0xfc
|
||||
|
||||
# CHECK: bne #-24
|
||||
0xfa 0xff 0xff 0x1a
|
||||
|
||||
# CHECK: blx #60
|
||||
0x0f 0x00 0x00 0xfa
|
||||
|
||||
|
|
Loading…
Reference in New Issue