about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-06-18 16:23:32 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-06-18 16:23:32 +0200
commit8138ba6ecbbd35ec61385a076a44b4745fe75fd1 (patch)
tree6a9769cebfec2849b44ac40580b015a5a353fcd4
parentf1c0b52677c6260b2f5a9b2807aacfb87b58988a (diff)
downloadbox64-8138ba6ecbbd35ec61385a076a44b4745fe75fd1.tar.gz
box64-8138ba6ecbbd35ec61385a076a44b4745fe75fd1.zip
[ARM64_DYNAREC] Added a warning if allocating a scratch register after some YMM
-rw-r--r--src/dynarec/arm64/dynarec_arm64_functions.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_functions.c b/src/dynarec/arm64/dynarec_arm64_functions.c
index cad5427a..46ee4450 100644
--- a/src/dynarec/arm64/dynarec_arm64_functions.c
+++ b/src/dynarec/arm64/dynarec_arm64_functions.c
@@ -30,6 +30,7 @@
 int fpu_get_scratch(dynarec_arm_t* dyn, int ninst)
 {
     int ret = SCRATCH0 + dyn->n.fpu_scratch++;
+    if(dyn->n.ymm_used) printf_log(LOG_INFO, "Warning, getting a scratch register after getting some YMM at inst=%d\n", ninst);
     if(dyn->n.neoncache[ret].t==NEON_CACHE_YMMR || dyn->n.neoncache[ret].t==NEON_CACHE_YMMW) {
         // should only happens in step 0...
         dyn->insts[ninst].purge_ymm |= (1<<dyn->n.neoncache[ret].n); // mark as purged
@@ -41,6 +42,7 @@ int fpu_get_scratch(dynarec_arm_t* dyn, int ninst)
 int fpu_get_double_scratch(dynarec_arm_t* dyn, int ninst)
 {
     int ret = SCRATCH0 + dyn->n.fpu_scratch;
+    if(dyn->n.ymm_used) printf_log(LOG_INFO, "Warning, getting a double scratch register after getting some YMM at inst=%d\n", ninst);
     if(dyn->n.neoncache[ret].t==NEON_CACHE_YMMR || dyn->n.neoncache[ret].t==NEON_CACHE_YMMW) {
         // should only happens in step 0...
         dyn->insts[ninst].purge_ymm |= (1<<dyn->n.neoncache[ret].n); // mark as purged