about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-02-11 15:12:50 +0800
committerGitHub <noreply@github.com>2025-02-11 08:12:50 +0100
commit33d17279259ba6bd4deff2ca018d4c1741f4967e (patch)
tree646931398c488840efce590bbf8fced12c590cc5 /src
parenta50d34e4ba1ec14c12f2e776282197a2f501e114 (diff)
downloadbox64-33d17279259ba6bd4deff2ca018d4c1741f4967e.tar.gz
box64-33d17279259ba6bd4deff2ca018d4c1741f4967e.zip
[LA64_DYNAREC] Added F2 0F 7D HSUBPS opcode (#2341)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/la64/dynarec_la64_f20f.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/dynarec/la64/dynarec_la64_f20f.c b/src/dynarec/la64/dynarec_la64_f20f.c
index 513cc492..129c2c2b 100644
--- a/src/dynarec/la64/dynarec_la64_f20f.c
+++ b/src/dynarec/la64/dynarec_la64_f20f.c
@@ -315,6 +315,17 @@ uintptr_t dynarec64_F20F(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int
             VPICKOD_W(v1, q1, q0);
             VFADD_S(q0, v0, v1);
             break;
+        case 0x7D:
+            INST_NAME("HSUBPS Gx, Ex");
+            nextop = F8;
+            GETGX(q0, 1);
+            GETEX(q1, 0, 1);
+            v0 = fpu_get_scratch(dyn);
+            v1 = fpu_get_scratch(dyn);
+            VPICKEV_W(v0, q1, q0);
+            VPICKOD_W(v1, q1, q0);
+            VFSUB_S(q0, v0, v1);
+            break;
         case 0xC2:
             INST_NAME("CMPSD Gx, Ex, Ib");
             nextop = F8;