From 8138ba6ecbbd35ec61385a076a44b4745fe75fd1 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Tue, 18 Jun 2024 16:23:32 +0200 Subject: [ARM64_DYNAREC] Added a warning if allocating a scratch register after some YMM --- src/dynarec/arm64/dynarec_arm64_functions.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') 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<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<n.neoncache[ret].n); // mark as purged -- cgit 1.4.1