aboutsummaryrefslogtreecommitdiff
path: root/test/long_mode
diff options
context:
space:
mode:
Diffstat (limited to 'test/long_mode')
-rw-r--r--test/long_mode/behavior.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/long_mode/behavior.rs b/test/long_mode/behavior.rs
index e707b5d..ded69ac 100644
--- a/test/long_mode/behavior.rs
+++ b/test/long_mode/behavior.rs
@@ -1740,6 +1740,19 @@ mod kvm {
continue;
}
+ if [Opcode::INS, Opcode::MOVS, Opcode::OUTS, Opcode::LODS, Opcode::STOS, Opcode::CMPS, Opcode::SCAS].contains(&buf.opcode()) {
+ if buf.prefixes.rep_any() {
+ // `repnz cmps` will carry on for however long memory allows,
+ // `rep movs` runs `rcx`-many times, etc
+ continue;
+ }
+ }
+
+ if buf.opcode() == Opcode::RSM {
+ // SMM is kinda not our problem for now..
+ continue;
+ }
+
if buf.opcode() == Opcode::GETSEC {
// oh dear
continue;