From ecc53756154ba93f08772b57757ee6f235efd782 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 4 Apr 2025 11:20:52 +0200 Subject: [ARM64_DYNAREC] Small adjustement to 2 AVX opcodes --- src/dynarec/arm64/dynarec_arm64_avx_66_0f3a.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') 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<>(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] -- cgit 1.4.1