Skip to content

Commit

Permalink
Do not accept X/W dynamic registers where XSP/WSP is accepted.
Browse files Browse the repository at this point in the history
  • Loading branch information
CensoredUsername committed Nov 15, 2020
1 parent 6676365 commit 83743bf
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions plugin/src/arch/aarch64/matching.rs
Original file line number Diff line number Diff line change
Expand Up @@ -442,8 +442,8 @@ impl Matcher {
Register::Scalar(ref s) => match self {
Matcher::W => s.size() == Size::DWORD && s.kind.family() == RegFamily::INTEGER,
Matcher::X => s.size() == Size::QWORD && s.kind.family() == RegFamily::INTEGER,
Matcher::WSP => s.size() == Size::DWORD && (s.kind.family() == RegFamily::INTEGERSP || (s.kind.family() == RegFamily::INTEGER && !s.kind.is_zero_reg())),
Matcher::XSP => s.size() == Size::QWORD && (s.kind.family() == RegFamily::INTEGERSP || (s.kind.family() == RegFamily::INTEGER && !s.kind.is_zero_reg())),
Matcher::WSP => s.size() == Size::DWORD && (s.kind.family() == RegFamily::INTEGERSP || (!s.kind.is_dynamic() && s.kind.family() == RegFamily::INTEGER && !s.kind.is_zero_reg())),
Matcher::XSP => s.size() == Size::QWORD && (s.kind.family() == RegFamily::INTEGERSP || (!s.kind.is_dynamic() && s.kind.family() == RegFamily::INTEGER && !s.kind.is_zero_reg())),
Matcher::B => s.size() == Size::BYTE && s.kind.family() == RegFamily::SIMD,
Matcher::H => s.size() == Size::WORD && s.kind.family() == RegFamily::SIMD,
Matcher::S => s.size() == Size::DWORD && s.kind.family() == RegFamily::SIMD,
Expand Down

0 comments on commit 83743bf

Please sign in to comment.