about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-03-22 22:24:41 +0100
committerptitSeb <sebastien.chev@gmail.com>2025-03-22 22:24:41 +0100
commit9511d83955b6424c8539092446e71dfcb3d47ddc (patch)
tree45e46bbbf7e06bb3a1f79decf570542b7c9bdcb6 /src
parent10cbb3c8a90c06fc76cdcffbb0f64bc789d52fdd (diff)
downloadbox64-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.c3
-rw-r--r--src/dynarec/arm64/dynarec_arm64_0f.c1
-rw-r--r--src/dynarec/arm64/dynarec_arm64_66.c1
-rw-r--r--src/dynarec/arm64/dynarec_arm64_avx_f3_0f.c1
-rw-r--r--src/dynarec/arm64/dynarec_arm64_f30f.c1
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);