diff options
| author | iximeow <me@iximeow.net> | 2026-07-26 07:37:29 +0000 |
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2026-07-28 07:28:15 +0000 |
| commit | e56c1b9c84ae86b6bee7e813fa547975b3fa4532 (patch) | |
| tree | 2166f78dec9999bfa1fa2fec94b9271b146c9fb9 /src/armv7/display.rs | |
| parent | 273e870aeeacebda604a30f8f63c7a18022c5885 (diff) | |
lsl/mov aliasing
Diffstat (limited to 'src/armv7/display.rs')
| -rw-r--r-- | src/armv7/display.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/armv7/display.rs b/src/armv7/display.rs index ee1d086..6f6fba1 100644 --- a/src/armv7/display.rs +++ b/src/armv7/display.rs @@ -548,6 +548,26 @@ pub(crate) fn visit_inst<T: DisplaySink>(instr: &Instruction, out: &mut T) -> fm return Ok(()); } + Opcode::LSL => { + if instr.operands[2] == Operand::Imm12(0) { + out.span_start_opcode(); + out.write_str("mov")?; + if instr.s() { + out.write_char('s')?; + } + out.span_end_opcode(); + + out.write_str(" ")?; + + let mut op_visitor = DisplayingOperandVisitor { + f: out + }; + instr.operands[0].visit(&mut op_visitor)?; + op_visitor.f.write_str(", ")?; + instr.operands[1].visit(&mut op_visitor)?; + return Ok(()); + } + } Opcode::MRC(coproc, opc1, opc2, _) | Opcode::MCR(coproc, opc1, opc2, _) | Opcode::CDP(coproc, opc1, opc2, _) => { |
