Align to halfword for thumb branch long instructions
Former-commit-id: f75e4baf003dcb7c535db3692383cc95575dfd81
This commit is contained in:
parent
e962150aaf
commit
90edebbe82
|
@ -411,7 +411,7 @@ impl Core {
|
||||||
if insn.flag(ThumbInstruction::FLAG_LOW_OFFSET) {
|
if insn.flag(ThumbInstruction::FLAG_LOW_OFFSET) {
|
||||||
off = off << 1;
|
off = off << 1;
|
||||||
let next_pc = (self.pc - 2) | 1;
|
let next_pc = (self.pc - 2) | 1;
|
||||||
self.pc = (self.gpr[REG_LR] as i32).wrapping_add(off) as u32;
|
self.pc = ((self.gpr[REG_LR] & !1) as i32).wrapping_add(off) as u32;
|
||||||
self.gpr[REG_LR] = next_pc;
|
self.gpr[REG_LR] = next_pc;
|
||||||
|
|
||||||
self.flush_pipeline();
|
self.flush_pipeline();
|
||||||
|
|
Reference in a new issue