aboutsummaryrefslogtreecommitdiff
path: root/src/long_mode
diff options
context:
space:
mode:
Diffstat (limited to 'src/long_mode')
-rw-r--r--src/long_mode/mod.rs21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs
index 9f04198..01b2f08 100644
--- a/src/long_mode/mod.rs
+++ b/src/long_mode/mod.rs
@@ -7242,24 +7242,11 @@ fn read_operands<
instruction.operand_count = 2;
instruction.regs[0].bank = RegisterBank::X;
instruction.operands[1] = mem_oper;
- if instruction.prefixes.rex_unchecked().w() {
- let op = instruction.operands[0];
- instruction.operands[0] = instruction.operands[1];
- instruction.operands[1] = op;
- instruction.regs[0].bank = RegisterBank::MM;
- instruction.regs[0].num &= 0b111;
- instruction.opcode = Opcode::MOVD;
- if instruction.operands[1] != OperandSpec::RegMMM {
- instruction.mem_size = 4;
- } else {
- instruction.regs[1].bank = RegisterBank::Q;
- }
+
+ if instruction.operands[1] != OperandSpec::RegMMM {
+ instruction.mem_size = 8;
} else {
- if instruction.operands[1] != OperandSpec::RegMMM {
- instruction.mem_size = 8;
- } else {
- instruction.regs[1].bank = RegisterBank::X;
- }
+ instruction.regs[1].bank = RegisterBank::X;
}
}
OperandCase::ModRM_0x0f0d => {