diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-04-04 11:20:52 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-04-04 11:20:52 +0200 |
| commit | ecc53756154ba93f08772b57757ee6f235efd782 (patch) | |
| tree | 2db1b9337ede5a66d615559b8103bd176f502684 /src | |
| parent | 8da0fab6749c7a9191d07aa83e9d745d8a89d0bc (diff) | |
| download | box64-ecc53756154ba93f08772b57757ee6f235efd782.tar.gz box64-ecc53756154ba93f08772b57757ee6f235efd782.zip | |
[ARM64_DYNAREC] Small adjustement to 2 AVX opcodes
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c b/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c index c814ec3c..07737f67 100644 --- a/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c +++ b/src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c @@ -272,7 +272,7 @@ uintptr_t dynarec64_AVX_66_0F3A(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip } else if(q0==q1) { for(int i=0; i<4; ++i) if(u8&(1<<i)) { - VMOVeS(q0, i, q1, i); + //VMOVeS(q0, i, q1, i); } else if(q0!=q2) VMOVeS(q0, i, q2, i); } else { @@ -298,7 +298,7 @@ uintptr_t dynarec64_AVX_66_0F3A(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip } else if(q0==q1) { for(int i=0; i<4; ++i) if(u8&(1<<(i+4))) { - VMOVeS(q0, i, q1, i); + //VMOVeS(q0, i, q1, i); } else if(q0!=q2) VMOVeS(q0, i, q2, i); } else { @@ -324,7 +324,7 @@ uintptr_t dynarec64_AVX_66_0F3A(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip nextop = F8; for(int l=0; l<1+vex.l; ++l) { if(!l) { GETGX_empty_VXEX(q0, q2, q1, 1); u8 = F8; } else { GETGY_empty_VYEY(q0, q2, q1); } - switch(u8>>(l*2)&3) { + switch((u8>>(l*2))&3) { case 0b00: if(q0!=q2) VMOVQ(q0, q2); break; // VxVx case 0b01: if(q0!=q1) VMOVeD(q0, 0, q1, 0); if(q0!=q2) VMOVeD(q0, 1, q2, 1); break; // Ex[0]Vx[1] case 0b10: if(q0!=q2) VMOVeD(q0, 0, q2, 0); if(q0!=q1) VMOVeD(q0, 1, q1, 1); break; // Vx[0]Ex[1] |