aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2019-12-01 15:27:15 -0800
committeriximeow <me@iximeow.net>2020-01-12 16:10:13 -0800
commit071dbfd2f1407842a6487a67e6ce83e80fedb99c (patch)
treea0d261d728973feb637549e62ba5f91e44f5d767 /test
parentda63e8df700520ad396b754427f90ef92cc2425d (diff)
pshuf/psr/shld/shrd plus some test fixes
this makes all current non-vex/evex tests pass!!!
Diffstat (limited to 'test')
-rw-r--r--test/test.rs15
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");
}