mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
ARM Disassembler: sign extend branch immediates.
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
This commit is contained in:
parent
51157d2234
commit
793b811c50
@ -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
Block a user