aboutsummaryrefslogtreecommitdiff
path: root/test/protected_mode
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-05-02 22:04:07 +0000
committeriximeow <me@iximeow.net>2026-05-25 01:30:19 +0000
commit706ec278edebe06eff9f91f5cb30f5faba46132d (patch)
tree8b6dea2263c387fe0dfd9ea318b306cf26846b5f /test/protected_mode
parent1652c236ee3441c89f294fda93faefadb10874e7 (diff)
vmaskmovdqu, vmovq were also incorrect in some ways...
Diffstat (limited to 'test/protected_mode')
-rw-r--r--test/protected_mode/mod.rs2
-rw-r--r--test/protected_mode/operand.rs4
2 files changed, 6 insertions, 0 deletions
diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs
index 4bd5fc5..f152bbe 100644
--- a/test/protected_mode/mod.rs
+++ b/test/protected_mode/mod.rs
@@ -2138,6 +2138,8 @@ fn test_vex() {
test_avx2(&[0xc4, 0b110_00001, 0b1_1111_101, 0x6d, 0b11_001_010], "vpunpckhqdq ymm1, ymm0, ymm2");
test_instr(&[0xc4, 0b110_00001, 0b1_1111_001, 0x6e, 0b11_001_010], "vmovd xmm1, edx");
test_instr(&[0xc4, 0b110_00001, 0b1_1111_001, 0x6e, 0b00_001_010], "vmovd xmm1, dword [edx]");
+ test_instr(&[0xc4, 0b110_00001, 0b1_1111_001, 0xd6, 0b00_001_010], "vmovq qword [edx], xmm1");
+ test_instr(&[0xc4, 0b110_00001, 0b1_1111_001, 0xd6, 0b11_001_010], "vmovq xmm2, xmm1");
test_invalid(&[0xc4, 0b110_00001, 0b1_1111_101, 0x6e, 0b11_001_010]);
test_instr(&[0xc4, 0b110_00001, 0b0_1111_001, 0x6f, 0b11_001_010], "vmovdqa xmm1, xmm2");
test_instr(&[0xc4, 0b110_00001, 0b0_1111_101, 0x6f, 0b11_001_010], "vmovdqa ymm1, ymm2");
diff --git a/test/protected_mode/operand.rs b/test/protected_mode/operand.rs
index cfda896..d90e6ba 100644
--- a/test/protected_mode/operand.rs
+++ b/test/protected_mode/operand.rs
@@ -33,6 +33,10 @@ fn memory_widths() {
// "maskmovdqu xmm0, xmm1"
assert_eq!(mem_size_of(&[0x66, 0x0f, 0xf7, 0xc1]).size_name(), "xmmword");
assert_eq!(mem_size_of(&[0x67, 0x66, 0x0f, 0xf7, 0xc1]).size_name(), "xmmword");
+
+ // "vmaskmovdqu xmm0, xmm1"
+ assert_eq!(mem_size_of(&[0xc4, 0xe1, 0x79, 0xf7, 0xc1]).size_name(), "xmmword");
+ assert_eq!(mem_size_of(&[0x67, 0xc4, 0xe1, 0x79, 0xf7, 0xc1]).size_name(), "xmmword");
}
#[test]