about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/dynarec/la64/dynarec_la64_avx_66_0f3a.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c b/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c
index 13a4d75b..41157301 100644
--- a/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c
+++ b/src/dynarec/la64/dynarec_la64_avx_66_0f3a.c
@@ -320,24 +320,12 @@ uintptr_t dynarec64_AVX_66_0F3A(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t i
             GETGY_empty_VYEY_xy(v0, v1, v2, 1);
             u8 = F8;
             d0 = fpu_get_scratch(dyn);
-            if (vex.l) {
-                // 256bits fast path
-                if (u8 == 0) {
-                    if (v0 != v1) XVOR_V(v0, v1, v1);
-                    break;
-                } else if (u8 == 0xFF) {
-                    if (v0 != v2) XVOR_V(v0, v2, v2);
-                    break;
-                }
-            } else {
-                // VEX.128 128bits fast path
-                if ((u8 & 0xf) == 0) {
-                    if (v0 != v1) VOR_V(v0, v1, v1);
-                    break;
-                } else if ((u8 & 0xf) == 0xF) {
-                    if (v0 != v2) VOR_V(v0, v2, v2);
-                    break;
-                }
+            if (u8 == 0) {
+                if (v0 != v1) VOR_Vxy(v0, v1, v1);
+                break;
+            } else if (u8 == 0xFF) {
+                if (v0 != v2) VOR_Vxy(v0, v2, v2);
+                break;
             }
             tmp64u = 0;
             for (int i = 0; i < 8; i++) {