about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-01-02 20:41:36 +0100
committerptitSeb <sebastien.chev@gmail.com>2025-01-02 20:41:36 +0100
commitda6b799a10d34f00fb51164a6d108fd7c8fd81af (patch)
tree92a97bc51bbb6441b9f9b44ea6f9c075f32da494
parent967c73efd1cd7b794f598c781a21cbe008466acf (diff)
downloadbox64-da6b799a10d34f00fb51164a6d108fd7c8fd81af.tar.gz
box64-da6b799a10d34f00fb51164a6d108fd7c8fd81af.zip
[ARM64_DYNAREC] Small fixes to sse info retreiving on signal
-rw-r--r--src/dynarec/arm64/dynarec_arm64_arch.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_arch.c b/src/dynarec/arm64/dynarec_arm64_arch.c
index 42cc8817..f9a45425 100644
--- a/src/dynarec/arm64/dynarec_arm64_arch.c
+++ b/src/dynarec/arm64/dynarec_arm64_arch.c
@@ -215,8 +215,8 @@ void adjust_arch(dynablock_t* db, x64emu_t* emu, ucontext_t* p, uintptr_t x64pc)
         }
     }
     if(arch->sse) {
-//printf_log(LOG_INFO, " sse ");
         arch_sse_t* sse = (arch_sse_t*)((uintptr_t)arch + sz);
+//printf_log(LOG_INFO, " sse[%x (fpsimd=%p)] ", sse->sse, fpsimd);
         sz += sizeof(arch_sse_t);
         for(int i=0; i<16; ++i)
             if(fpsimd && (sse->sse>>i)&1) {
@@ -226,8 +226,7 @@ void adjust_arch(dynablock_t* db, x64emu_t* emu, ucontext_t* p, uintptr_t x64pc)
                 } else {
                     idx = XMM0 + i;
                 }
-
-                emu->xmm[i].u128 = fpsimd->vregs[i];
+                emu->xmm[i].u128 = fpsimd->vregs[idx];
             }
     }
 //printf_log(LOG_INFO, "\n");