about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/la64/dynarec_la64_0f.c6
-rw-r--r--src/dynarec/la64/dynarec_la64_avx_66_0f38.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/src/dynarec/la64/dynarec_la64_0f.c b/src/dynarec/la64/dynarec_la64_0f.c
index 39f1ac74..c0609dec 100644
--- a/src/dynarec/la64/dynarec_la64_0f.c
+++ b/src/dynarec/la64/dynarec_la64_0f.c
@@ -166,8 +166,10 @@ uintptr_t dynarec64_0F(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                 INST_NAME("MOVLPS Gx, Ex");
                 GETGX(v0, 1);
                 SMREAD();
-                GETEX(q1, 0, 0);
-                VEXTRINS_D(v0, q1, 0);
+                v1 = fpu_get_scratch(dyn);
+                addr = geted(dyn, addr, ninst, nextop, &ed, x2, x3, &fixedaddress, rex, NULL, 1, 0);
+                FLD_D(v1, ed, fixedaddress);
+                VEXTRINS_D(v0, v1, 0);
             }
             break;
         case 0x13:
diff --git a/src/dynarec/la64/dynarec_la64_avx_66_0f38.c b/src/dynarec/la64/dynarec_la64_avx_66_0f38.c
index 0a04c586..25fa1ca0 100644
--- a/src/dynarec/la64/dynarec_la64_avx_66_0f38.c
+++ b/src/dynarec/la64/dynarec_la64_avx_66_0f38.c
@@ -330,7 +330,8 @@ uintptr_t dynarec64_AVX_66_0F38(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t i
         case 0x1A:
             INST_NAME("VBROADCASTF128 Gx, Ex");
             nextop = F8;
-            GETGY_empty_EY_xy(q0, q2, 0);
+            GETEYx(q2, 0, 0);
+            GETGYxy_empty(q0);
             XVREPLVE0_Q(q0, q2);
             break;
         case 0x1C:
@@ -787,7 +788,8 @@ uintptr_t dynarec64_AVX_66_0F38(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t i
         case 0x5A:
             INST_NAME("VBROADCASTI128 Gx, Ex");
             nextop = F8;
-            GETGY_empty_EY_xy(q0, q2, 0);
+            GETEYx(q2, 0, 0);
+            GETGYxy_empty(q0);
             XVREPLVE0_Q(q0, q2);
             break;
         case 0x78: