diff options
author | iximeow <me@iximeow.net> | 2021-07-03 16:45:53 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2021-07-03 16:45:53 -0700 |
commit | 3975ace417ccd0a8381b93e91e3c8b4be9640636 (patch) | |
tree | cca085acc516d0ad4cb80d7165a0433e0de53c5f /src/long_mode | |
parent | 3a1de246641e14e51dc138120d67842448c2bf21 (diff) |
more carefully test mmx operand sizes
Diffstat (limited to 'src/long_mode')
-rw-r--r-- | src/long_mode/mod.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 2cda6e4..4955b7c 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -7951,10 +7951,10 @@ fn unlikely_operands<T: Reader<<Arch as yaxpeax_arch::Arch>::Address, <Arch as y instruction.regs[1].bank = RegisterBank::MM; instruction.regs[1].num &= 0b111; } else { - if [Opcode::PACKSSWB, Opcode::PCMPGTB, Opcode::PCMPGTW, Opcode::PCMPGTD, Opcode::PACKUSWB, Opcode::PUNPCKHBW, Opcode::PUNPCKHWD, Opcode::PUNPCKHDQ, Opcode::PACKSSDW, Opcode::PSRLW, Opcode::PMULHW, Opcode::PSHUFB, Opcode::PHADDW, Opcode::PHADDD, Opcode::PHADDSW, Opcode::PMADDUBSW, Opcode::PHSUBW, Opcode::PHSUBD, Opcode::PHSUBSW, Opcode::PSIGNB, Opcode::PSIGNW, Opcode::PSIGND, Opcode::PMULHRSW, Opcode::PABSB, Opcode::PABSW, Opcode::PABSD].contains(&instruction.opcode) { - instruction.mem_size = 8; - } else { + if [Opcode::PUNPCKLBW, Opcode::PUNPCKLWD, Opcode::PUNPCKLDQ].contains(&instruction.opcode) { instruction.mem_size = 4; + } else { + instruction.mem_size = 8; } } }, |