about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_0f.c6
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_660f.c12
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_f30f.c4
3 files changed, 11 insertions, 11 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c
index 23ef668f..2b1926b3 100755
--- a/src/dynarec/arm64/dynarec_arm64_0f.c
+++ b/src/dynarec/arm64/dynarec_arm64_0f.c
@@ -834,7 +834,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     }

                     break;

                 case 4:

-                    INST_NAME("PSRAW Ex, Ib");

+                    INST_NAME("PSRAW Em, Ib");

                     GETEM(q0, 1);

                     u8 = F8;

                     if(u8>15) u8=15;

@@ -846,7 +846,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
                     }

                     break;

                 case 6:

-                    INST_NAME("PSLLW Ex, Ib");

+                    INST_NAME("PSLLW Em, Ib");

                     GETEM(q0, 1);

                     u8 = F8;

                     if(u8) {

@@ -1856,7 +1856,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
             break;

 

         case 0xF5:

-            INST_NAME("PMADDWD Gx, Ex");

+            INST_NAME("PMADDWD Gm, Em");

             nextop = F8;

             GETGM(v0);

             GETEM(v1, 0);

diff --git a/src/dynarec/arm64/dynarec_arm64_660f.c b/src/dynarec/arm64/dynarec_arm64_660f.c
index 3e756a26..11e4d2be 100755
--- a/src/dynarec/arm64/dynarec_arm64_660f.c
+++ b/src/dynarec/arm64/dynarec_arm64_660f.c
@@ -141,7 +141,7 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             GETGX(v0, 1);

             VMOVeD(v0, 0, v0, 1);

             if(MODREG) {

-                v1 = sse_get_reg(dyn, ninst, x1, (nextop&7)+(rex.b<<3), 1);

+                v1 = sse_get_reg(dyn, ninst, x1, (nextop&7)+(rex.b<<3), 0);

                 VMOVeD(v0, 1, v1, 1);

             } else {

                 addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0, 0, rex, 0, 0);

@@ -443,7 +443,7 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
                     INST_NAME("PMINSD Gx, Ex");  // SSE4 opcode!

                     nextop = F8;

                     GETEX(q1, 0, 0);

-                    GETGX(q0,1);

+                    GETGX(q0, 1);

                     SMINQ_32(q0, q0, q1);

                     break;

 

@@ -715,7 +715,7 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
         case 0x54:

             INST_NAME("ANDPD Gx, Ex");

             nextop = F8;

-            GETEX(q0, 0,0);

+            GETEX(q0, 0, 0);

             GETGX(v0, 1);

             VANDQ(v0, v0, q0);

             break;

@@ -936,21 +936,21 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             INST_NAME("PUNPCKHBW Gx,Ex");

             nextop = F8;

             GETGX(q0, 1);

-            GETEX(q1, 0, 1);

+            GETEX(q1, 0, 0);

             VZIP2Q_8(q0, q0, q1);

             break;

         case 0x69:

             INST_NAME("PUNPCKHWD Gx,Ex");

             nextop = F8;

             GETGX(q0, 1);

-            GETEX(q1, 0, 1);

+            GETEX(q1, 0, 0);

             VZIP2Q_16(q0, q0, q1);

             break;

         case 0x6A:

             INST_NAME("PUNPCKHDQ Gx,Ex");

             nextop = F8;

             GETGX(q0, 1);

-            GETEX(q1, 0, 1);

+            GETEX(q1, 0, 0);

             VZIP2Q_32(q0, q0, q1);

             break;

         case 0x6B:

diff --git a/src/dynarec/arm64/dynarec_arm64_f30f.c b/src/dynarec/arm64/dynarec_arm64_f30f.c
index d0996f6e..773555a7 100755
--- a/src/dynarec/arm64/dynarec_arm64_f30f.c
+++ b/src/dynarec/arm64/dynarec_arm64_f30f.c
@@ -83,9 +83,9 @@ uintptr_t dynarec64_F30F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             INST_NAME("MOVSS Ex, Gx");

             nextop = F8;

             GETG;

-            v0 = sse_get_reg(dyn, ninst, x1, gd, 1);

+            v0 = sse_get_reg(dyn, ninst, x1, gd, 0);

             if(MODREG) {

-                q0 = sse_get_reg(dyn, ninst, x1, (nextop&7) + (rex.b<<3), 0);

+                q0 = sse_get_reg(dyn, ninst, x1, (nextop&7) + (rex.b<<3), 1);

                 VMOVeS(q0, 0, v0, 0);

             } else {

                 addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0xfff<<2, 3, rex, 0, 0);