aboutsummaryrefslogtreecommitdiff
path: root/test/protected_mode
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-05-24 21:57:39 +0000
committeriximeow <me@iximeow.net>2026-05-25 02:04:37 +0000
commit0ec3011a3d04de741be642e4d36e826174657fdc (patch)
tree7e3f6d3f0273fa131eb28348f432a74014e6623b /test/protected_mode
parent5d537aee9e68ade8701f8995135b38a9d3c7f97f (diff)
66-prefixed sha1rnds4 doesnt even real
Diffstat (limited to 'test/protected_mode')
-rw-r--r--test/protected_mode/mod.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/protected_mode/mod.rs b/test/protected_mode/mod.rs
index 7f6ebf7..d74806d 100644
--- a/test/protected_mode/mod.rs
+++ b/test/protected_mode/mod.rs
@@ -2618,6 +2618,8 @@ fn test_rand() {
fn test_sha() {
test_display(&[0x0f, 0x3a, 0xcc, 0x12, 0x40], "sha1rnds4 xmm2, xmmword [edx], 0x40");
test_display(&[0x0f, 0x3a, 0xcc, 0x12, 0xff], "sha1rnds4 xmm2, xmmword [edx], 0xff");
+ // with astonishing dismay: 66-prefixed sha1rnds4 is #UD only in 32-bit and 16-bit mode.
+ test_invalid(&[0x66, 0x0f, 0x3a, 0xcc, 0x12, 0xff]);
test_display(&[0x0f, 0x38, 0xc8, 0x12], "sha1nexte xmm2, xmmword [edx]");
test_display(&[0x0f, 0x38, 0xc9, 0x12], "sha1msg1 xmm2, xmmword [edx]");
test_display(&[0x0f, 0x38, 0xca, 0x12], "sha1msg2 xmm2, xmmword [edx]");