aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/long_mode/vex.rs2
-rw-r--r--src/protected_mode/vex.rs2
-rw-r--r--src/real_mode/vex.rs2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/long_mode/vex.rs b/src/long_mode/vex.rs
index b787598..3380cf2 100644
--- a/src/long_mode/vex.rs
+++ b/src/long_mode/vex.rs
@@ -1408,7 +1408,7 @@ fn read_vex_operands<
instruction.regs[0] =
RegSpec::from_parts((modrm >> 3) & 7, instruction.prefixes.vex_unchecked().r(), bank);
let mem_oper = read_E(words, instruction, modrm, bank, sink)?;
- if instruction.opcode == Opcode::VPGATHERDQ {
+ if instruction.opcode == Opcode::VPGATHERDQ || instruction.opcode == Opcode::VGATHERDPD {
instruction.regs[2].bank = RegisterBank::X;
} else {
instruction.regs[2].bank = index_bank;
diff --git a/src/protected_mode/vex.rs b/src/protected_mode/vex.rs
index 429ad23..35ed395 100644
--- a/src/protected_mode/vex.rs
+++ b/src/protected_mode/vex.rs
@@ -1321,7 +1321,7 @@ fn read_vex_operands<
instruction.regs[0] =
RegSpec::from_parts((modrm >> 3) & 7, bank);
let mem_oper = read_E(words, instruction, modrm, bank, sink)?;
- if instruction.opcode == Opcode::VPGATHERDQ {
+ if instruction.opcode == Opcode::VPGATHERDQ || instruction.opcode == Opcode::VGATHERDPD {
instruction.regs[2].bank = RegisterBank::X;
} else {
instruction.regs[2].bank = index_bank;
diff --git a/src/real_mode/vex.rs b/src/real_mode/vex.rs
index 3a7fbe3..6a74fe8 100644
--- a/src/real_mode/vex.rs
+++ b/src/real_mode/vex.rs
@@ -1321,7 +1321,7 @@ fn read_vex_operands<
instruction.regs[0] =
RegSpec::from_parts((modrm >> 3) & 7, bank);
let mem_oper = read_E(words, instruction, modrm, bank, sink)?;
- if instruction.opcode == Opcode::VPGATHERDQ {
+ if instruction.opcode == Opcode::VPGATHERDQ || instruction.opcode == Opcode::VGATHERDPD {
instruction.regs[2].bank = RegisterBank::X;
} else {
instruction.regs[2].bank = index_bank;