diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/armv8/a64.rs | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/src/armv8/a64.rs b/src/armv8/a64.rs index 52c90bc..b901d21 100644 --- a/src/armv8/a64.rs +++ b/src/armv8/a64.rs @@ -804,24 +804,42 @@ impl Display for Instruction {                  write!(fmt, "cls")?;              }              Opcode::MADD => { +                if let Operand::Register(_, 31) = self.operands[3] { +                    return write!(fmt, "mul {}, {}, {}", self.operands[0], self.operands[1], self.operands[2]) +                }                  write!(fmt, "madd")?;              }              Opcode::MSUB => { +                if let Operand::Register(_, 31) = self.operands[3] { +                    return write!(fmt, "mneg {}, {}, {}", self.operands[0], self.operands[1], self.operands[2]) +                }                  write!(fmt, "msub")?;              }              Opcode::SMADDL => { +                if let Operand::Register(_, 31) = self.operands[3] { +                    return write!(fmt, "smull {}, {}, {}", self.operands[0], self.operands[1], self.operands[2]) +                }                  write!(fmt, "smaddl")?;              }              Opcode::SMSUBL => { +                if let Operand::Register(_, 31) = self.operands[3] { +                    return write!(fmt, "smnegl {}, {}, {}", self.operands[0], self.operands[1], self.operands[2]) +                }                  write!(fmt, "smsubl")?;              }              Opcode::SMULH => {                  write!(fmt, "smulh")?;              }              Opcode::UMADDL => { +                if let Operand::Register(_, 31) = self.operands[3] { +                    return write!(fmt, "umull {}, {}, {}", self.operands[0], self.operands[1], self.operands[2]) +                }                  write!(fmt, "umaddl")?;              }              Opcode::UMSUBL => { +                if let Operand::Register(_, 31) = self.operands[3] { +                    return write!(fmt, "umnegl {}, {}, {}", self.operands[0], self.operands[1], self.operands[2]) +                }                  write!(fmt, "umsubl")?;              }              Opcode::UMULH => {  | 
