about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorLeslie Zhai <zhaixiang@loongson.cn>2024-12-06 17:40:02 +0800
committerGitHub <noreply@github.com>2024-12-06 10:40:02 +0100
commit06c93c93fe62e65bfb7ff30b76a1ee48da796055 (patch)
tree92c6be3ffa608a608f8fa88d4102db753899685b /src
parent869ddcfdda59a2e5555652acb84e47d22e597c85 (diff)
downloadbox64-06c93c93fe62e65bfb7ff30b76a1ee48da796055.tar.gz
box64-06c93c93fe62e65bfb7ff30b76a1ee48da796055.zip
[LA64_DYNAREC] Added XOR AX, Iw opcode (#2116)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/la64/dynarec_la64_66.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/dynarec/la64/dynarec_la64_66.c b/src/dynarec/la64/dynarec_la64_66.c
index f1b171de..d5482728 100644
--- a/src/dynarec/la64/dynarec_la64_66.c
+++ b/src/dynarec/la64/dynarec_la64_66.c
@@ -251,6 +251,15 @@ uintptr_t dynarec64_66(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
             emit_xor16(dyn, ninst, x1, x2, x3, x4, x5);
             GWBACK;
             break;
+        case 0x35:
+            INST_NAME("XOR AX, Iw");
+            SETFLAGS(X_ALL, SF_SET_PENDING);
+            i32 = F16;
+            BSTRPICK_D(x1, xRAX, 15, 0);
+            MOV32w(x2, i32);
+            emit_xor16(dyn, ninst, x1, x2, x3, x4, x5);
+            BSTRINSz(xRAX, x1, 15, 0);
+            break;
         case 0x39:
             INST_NAME("CMP Ew, Gw");
             SETFLAGS(X_ALL, SF_SET_PENDING);