diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-03-22 22:24:41 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-03-22 22:24:41 +0100 |
| commit | 9511d83955b6424c8539092446e71dfcb3d47ddc (patch) | |
| tree | 45e46bbbf7e06bb3a1f79decf570542b7c9bdcb6 /src | |
| parent | 10cbb3c8a90c06fc76cdcffbb0f64bc789d52fdd (diff) | |
| download | box64-9511d83955b6424c8539092446e71dfcb3d47ddc.tar.gz box64-9511d83955b6424c8539092446e71dfcb3d47ddc.zip | |
[ARM64_DYNAREC][TRACE] Added a message on Dump for Unaligned path on opcodes
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_00.c | 3 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_0f.c | 1 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_66.c | 1 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_avx_f3_0f.c | 1 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_f30f.c | 1 |
5 files changed, 7 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_00.c b/src/dynarec/arm64/dynarec_arm64_00.c index 3488d92a..7c52edd0 100644 --- a/src/dynarec/arm64/dynarec_arm64_00.c +++ b/src/dynarec/arm64/dynarec_arm64_00.c @@ -1442,6 +1442,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin MOVxw_REG(TO_NAT((nextop & 7) + (rex.b << 3)), gd); } else { // mem <= reg IF_UNALIGNED(ip) { + MESSAGE(LOG_DEBUG, "\tUnaligned path"); addr = geted(dyn, addr, ninst, nextop, &wback, x2, &fixedaddress, NULL, 0, 0, rex, &lock, 0, 0); if(gd==wback) { MOVx_REG(x2, wback); @@ -1699,6 +1700,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin CBZx_NEXT(xRCX); TBNZ_MARK2(xFlags, F_DF); IF_UNALIGNED(ip) { + MESSAGE(LOG_DEBUG, "\tUnaligned path"); // special optim for large RCX value on forward case only // but because it's unaligned path, check if a byte per byt is needed, and do 4-bytes per 4-bytes only instead if(BOX64DRENV(dynarec_safeflags)) { @@ -2457,6 +2459,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin MOV64xw(ed, i64); } else { // mem <= i32 IF_UNALIGNED(ip) { + MESSAGE(LOG_DEBUG, "\tUnaligned path"); addr = geted(dyn, addr, ninst, nextop, &wback, x2, &fixedaddress, NULL, 0, 0, rex, &lock, 0, 4); i64 = F32S; if(i64) { diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c index cda0cfc8..9dc2759a 100644 --- a/src/dynarec/arm64/dynarec_arm64_0f.c +++ b/src/dynarec/arm64/dynarec_arm64_0f.c @@ -261,6 +261,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin VMOVQ(v1, v0); } else { IF_UNALIGNED(ip) { + MESSAGE(LOG_DEBUG, "\tUnaligned path"); addr = geted(dyn, addr, ninst, nextop, &wback, x1, &fixedaddress, NULL, 0, 0, rex, NULL, 0, 0); if(wback!=x1) { MOVx_REG(x1, wback); diff --git a/src/dynarec/arm64/dynarec_arm64_66.c b/src/dynarec/arm64/dynarec_arm64_66.c index 8fa366ef..b6eb2f00 100644 --- a/src/dynarec/arm64/dynarec_arm64_66.c +++ b/src/dynarec/arm64/dynarec_arm64_66.c @@ -783,6 +783,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin CBZx_NEXT(xRCX); TBNZ_MARK2(xFlags, F_DF); IF_UNALIGNED(ip) { + MESSAGE(LOG_DEBUG, "\tUnaligned path"); // special optim for large RCX value on forward case only // but because it's unaligned path, check if a byte per byt is needed, and do 4-bytes per 4-bytes only instead if(BOX64DRENV(dynarec_safeflags)) { diff --git a/src/dynarec/arm64/dynarec_arm64_avx_f3_0f.c b/src/dynarec/arm64/dynarec_arm64_avx_f3_0f.c index 9f3d5f4b..cd156bb4 100644 --- a/src/dynarec/arm64/dynarec_arm64_avx_f3_0f.c +++ b/src/dynarec/arm64/dynarec_arm64_avx_f3_0f.c @@ -492,6 +492,7 @@ uintptr_t dynarec64_AVX_F3_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, } // no ymm raz here it seems } else { IF_UNALIGNED(ip) { + MESSAGE(LOG_DEBUG, "\tUnaligned path"); addr = geted(dyn, addr, ninst, nextop, &wback, x1, &fixedaddress, NULL, 0, 0, rex, NULL, 0, 0); if(wback!=x1) { MOVx_REG(x1, wback); diff --git a/src/dynarec/arm64/dynarec_arm64_f30f.c b/src/dynarec/arm64/dynarec_arm64_f30f.c index b136c59c..0297d118 100644 --- a/src/dynarec/arm64/dynarec_arm64_f30f.c +++ b/src/dynarec/arm64/dynarec_arm64_f30f.c @@ -461,6 +461,7 @@ uintptr_t dynarec64_F30F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n VMOVQ(v1, v0); } else { IF_UNALIGNED(ip) { + MESSAGE(LOG_DEBUG, "\tUnaligned path"); addr = geted(dyn, addr, ninst, nextop, &wback, x1, &fixedaddress, NULL, 0, 0, rex, NULL, 0, 0); if(wback!=x1) { MOVx_REG(x1, wback); |