about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-02-06 18:04:52 +0100
committerptitSeb <sebastien.chev@gmail.com>2025-02-06 18:04:52 +0100
commitff6f34aadf5372cb2217c0ebe93947a7f2b2e9ba (patch)
tree0aee0bcfcd27ddccbbac37e71da1aa2b20221d73 /src
parent4c3d55fb5c10b7975c4510f96b0f6c2cc4d646b5 (diff)
downloadbox64-ff6f34aadf5372cb2217c0ebe93947a7f2b2e9ba.tar.gz
box64-ff6f34aadf5372cb2217c0ebe93947a7f2b2e9ba.zip
[INTERPRETER] Small optim on HADDPS and HSUBPS
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64runf20f.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/emu/x64runf20f.c b/src/emu/x64runf20f.c
index c8b5e545..aa2d2fa0 100644
--- a/src/emu/x64runf20f.c
+++ b/src/emu/x64runf20f.c
@@ -354,8 +354,7 @@ uintptr_t RunF20F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step)
         GX->f[0] += GX->f[1];

         GX->f[1] = GX->f[2] + GX->f[3];

         if(EX==GX) {

-            GX->f[2] = GX->f[0];

-            GX->f[3] = GX->f[1];

+            GX->q[1] = GX->q[0];

         } else {

             GX->f[2] = EX->f[0] + EX->f[1];

             GX->f[3] = EX->f[2] + EX->f[3];

@@ -368,8 +367,7 @@ uintptr_t RunF20F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step)
         GX->f[0] -= GX->f[1];

         GX->f[1] = GX->f[2] - GX->f[3];

         if(EX==GX) {

-            GX->f[2] = GX->f[0];

-            GX->f[3] = GX->f[1];

+            GX->q[1] = GX->q[0];

         } else {

             GX->f[2] = EX->f[0] - EX->f[1];

             GX->f[3] = EX->f[2] - EX->f[3];