From 657cb19b8fc4ba71092d2fc7136aaf6abf224d50 Mon Sep 17 00:00:00 2001 From: iximeow Date: Sat, 2 May 2026 22:04:07 +0000 Subject: vmaskmovdqu, vmovq were also incorrect in some ways... --- test/long_mode/mod.rs | 2 ++ test/long_mode/operand.rs | 4 ++++ 2 files changed, 6 insertions(+) (limited to 'test') diff --git a/test/long_mode/mod.rs b/test/long_mode/mod.rs index 9ad0df4..1524868 100644 --- a/test/long_mode/mod.rs +++ b/test/long_mode/mod.rs @@ -2339,6 +2339,8 @@ fn test_vex() { test_avx2(&[0xc4, 0b000_00001, 0b1_1111_101, 0x6d, 0b11_001_010], "vpunpckhqdq ymm9, ymm0, ymm10"); test_instr(&[0xc4, 0b000_00001, 0b1_1111_001, 0x6e, 0b11_001_010], "vmovq xmm9, r10"); test_instr(&[0xc4, 0b000_00001, 0b1_1111_001, 0x6e, 0b00_001_010], "vmovq xmm9, qword [r10]"); + test_instr(&[0xc4, 0b000_00001, 0b1_1111_001, 0xd6, 0b00_001_010], "vmovq qword [r10], xmm9"); + test_instr(&[0xc4, 0b000_00001, 0b1_1111_001, 0xd6, 0b11_001_010], "vmovq xmm10, xmm9"); test_invalid(&[0xc4, 0b000_00001, 0b1_1111_101, 0x6e, 0b11_001_010]); test_instr(&[0xc4, 0b000_00001, 0b0_1111_001, 0x6f, 0b11_001_010], "vmovdqa xmm9, xmm10"); test_instr(&[0xc4, 0b000_00001, 0b0_1111_101, 0x6f, 0b11_001_010], "vmovdqa ymm9, ymm10"); diff --git a/test/long_mode/operand.rs b/test/long_mode/operand.rs index fe64fb6..a1d80e8 100644 --- a/test/long_mode/operand.rs +++ b/test/long_mode/operand.rs @@ -37,6 +37,10 @@ fn memory_widths() { // "maskmovdqu xmm0, xmm1" assert_eq!(mem_size_of(&[0x66, 0x4f, 0x0f, 0xf7, 0xc1]).size_name(), "qword"); assert_eq!(mem_size_of(&[0x67, 0x66, 0x0f, 0xf7, 0xc1]).size_name(), "dword"); + + // "vmaskmovdqu xmm0, xmm1" + assert_eq!(mem_size_of(&[0xc4, 0xe1, 0x79, 0xf7, 0xc1]).size_name(), "qword"); + assert_eq!(mem_size_of(&[0x67, 0xc4, 0xe1, 0x79, 0xf7, 0xc1]).size_name(), "dword"); } #[test] -- cgit v1.1