diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/test.rs b/test/test.rs index e3ffa30..2d9c95e 100644 --- a/test/test.rs +++ b/test/test.rs @@ -265,6 +265,7 @@ fn evex() { } #[test] +#[ignore] fn vex() { } @@ -367,17 +368,29 @@ fn prefixed_0f() { test_display(&[0x0f, 0x6e, 0xc2], "movd mm0, edx"); test_display(&[0x0f, 0x6f, 0x00], "movq mm0, [rax]"); test_display(&[0x0f, 0x6f, 0xc2], "movq mm0, mm2"); - test_display(&[0x0f, 0x70, 0x00, 0x7f], "pshufw mm0, qword [rax], 0x7f"); + test_display(&[0x0f, 0x70, 0x00, 0x7f], "pshufw mm0, [rax], 0x7f"); + test_display(&[0x4f, 0x0f, 0x70, 0x00, 0x7f], "pshufw mm0, [r8], 0x7f"); + test_invalid(&[0x0f, 0x71, 0x00, 0x7f]); + test_invalid(&[0x0f, 0x71, 0xc0, 0x7f]); test_display(&[0x0f, 0x71, 0xd0, 0x7f], "psrlw mm0, 0x7f"); test_display(&[0x0f, 0x71, 0xe0, 0x7f], "psraw mm0, 0x7f"); test_display(&[0x0f, 0x71, 0xf0, 0x7f], "psllw mm0, 0x7f"); + test_invalid(&[0x0f, 0x72, 0x00, 0x7f]); + test_invalid(&[0x0f, 0x72, 0xc0, 0x7f]); test_display(&[0x0f, 0x72, 0xd0, 0x7f], "psrld mm0, 0x7f"); test_display(&[0x0f, 0x72, 0xe0, 0x7f], "psrad mm0, 0x7f"); test_display(&[0x0f, 0x72, 0xf0, 0x7f], "pslld mm0, 0x7f"); + test_invalid(&[0x0f, 0x73, 0x00, 0x7f]); + test_invalid(&[0x0f, 0x73, 0xc0, 0x7f]); + test_display(&[0x0f, 0x73, 0xd0, 0x7f], "psrlq mm0, 0x7f"); + test_invalid(&[0x0f, 0x73, 0xe0, 0x7f]); + test_display(&[0x0f, 0x73, 0xf0, 0x7f], "psllq mm0, 0x7f"); test_display(&[0x0f, 0xa0], "push fs"); test_display(&[0x0f, 0xa1], "pop fs"); test_display(&[0x0f, 0xa2], "cpuid"); test_display(&[0x0f, 0xa4, 0xc0, 0x11], "shld eax, eax, 0x11"); + test_display(&[0x66, 0x0f, 0xa4, 0xcf, 0x11], "shld di, cx, 0x11"); + test_display(&[0x66, 0x45, 0x0f, 0xa4, 0xcf, 0x11], "shld r15w, r9w, 0x11"); test_display(&[0x0f, 0xa5, 0xc0], "shld eax, eax, cl"); test_display(&[0x0f, 0xa5, 0xc9], "shld ecx, ecx, cl"); } |