aboutsummaryrefslogtreecommitdiff
path: root/test/long_mode
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-06-10 06:27:44 +0000
committeriximeow <me@iximeow.net>2026-07-05 00:09:22 +0000
commitb4ac152946d3a1dd0f4e0d48b8b73f2152a1e2e0 (patch)
tree4d5eaa7023c39da54c32fcb38e1c45cbb5dd326b /test/long_mode
parent6e2976bda74148e0c3cd50788b603c4933f9f50b (diff)
fix some forms of lss/lfs/lgs having incorrectly-small memory sizes
Diffstat (limited to 'test/long_mode')
-rw-r--r--test/long_mode/mod.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/long_mode/mod.rs b/test/long_mode/mod.rs
index fb38840..de113d3 100644
--- a/test/long_mode/mod.rs
+++ b/test/long_mode/mod.rs
@@ -1893,11 +1893,21 @@ mod system {
use crate::long_mode::{TestCase, run_test};
const CASES: &'static [TestCase] = &[
+ testcase!(&[0x0f, 0xb2, 0x00], "lss eax, far [rax]"),
+ testcase!(&[0x0f, 0xb4, 0x00], "lfs eax, far [rax]"),
+ testcase!(&[0x0f, 0xb5, 0x00], "lgs eax, far [rax]"),
+ testcase!(&[0x48, 0x0f, 0xb2, 0x00], "lss rax, mword [rax]"),
+ testcase!(&[0x48, 0x0f, 0xb4, 0x00], "lfs rax, mword [rax]"),
+ testcase!(&[0x48, 0x0f, 0xb5, 0x00], "lgs rax, mword [rax]"),
testcase!(&[0x66, 0x4f, 0x0f, 0xb2, 0x00], "lss r8, mword [r8]"),
testcase!(&[0x67, 0x4f, 0x0f, 0xb2, 0x00], "lss r8, mword [r8d]"),
testcase!(&[0x4f, 0x0f, 0xb2, 0x00], "lss r8, mword [r8]"),
+ testcase!(&[0x4f, 0x0f, 0xb4, 0x00], "lfs r8, mword [r8]"),
+ testcase!(&[0x4f, 0x0f, 0xb5, 0x00], "lgs r8, mword [r8]"),
testcase!(&[0x0f, 0xb2, 0x00], "lss eax, far [rax]"),
testcase!(&[0x66, 0x0f, 0xb2, 0x00], "lss ax, dword [rax]"),
+ testcase!(&[0x66, 0x0f, 0xb4, 0x00], "lfs ax, dword [rax]"),
+ testcase!(&[0x66, 0x0f, 0xb5, 0x00], "lgs ax, dword [rax]"),
testcase!(invalid: &[0x45, 0x0f, 0x22, 0xc8]),
testcase!(invalid: &[0x45, 0x0f, 0x20, 0xc8]),
testcase!(&[0x40, 0x0f, 0x22, 0xd0], "mov cr2, rax"),