aboutsummaryrefslogtreecommitdiff
path: root/test/real_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/real_mode
parent5d537aee9e68ade8701f8995135b38a9d3c7f97f (diff)
66-prefixed sha1rnds4 doesnt even real
Diffstat (limited to 'test/real_mode')
-rw-r--r--test/real_mode/mod.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/real_mode/mod.rs b/test/real_mode/mod.rs
index b8a636c..544827a 100644
--- a/test/real_mode/mod.rs
+++ b/test/real_mode/mod.rs
@@ -231,6 +231,8 @@ fn test_real_mode() {
test_display(&[0x0f, 0x3a, 0x0f, 0xc1, 0x23], "palignr mm0, mm1, 0x23");
test_display(&[0x0f, 0x3a, 0xcc, 0x12, 0x40], "sha1rnds4 xmm2, xmmword [bp + si * 1], 0x40");
test_display(&[0x0f, 0x3a, 0xcc, 0x12, 0xff], "sha1rnds4 xmm2, xmmword [bp + si * 1], 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, 0x43, 0xec], "cmovnb bp, sp");
test_display(&[0x0f, 0x50, 0xc1], "movmskps eax, xmm1");
test_display(&[0x0f, 0x51, 0x01], "sqrtps xmm0, xmmword [bx + di * 1]");