about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-01-06 18:09:06 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-01-06 18:09:06 +0100
commit8260931ad733cdf6125b39ef9e8212d7fbf2bd91 (patch)
treedeec3e4ed91e4ba1f77b4d25e095ac30b4759514 /src
parent5e01769622b0d5edda8e42c994eff171887cc1d8 (diff)
downloadbox64-8260931ad733cdf6125b39ef9e8212d7fbf2bd91.tar.gz
box64-8260931ad733cdf6125b39ef9e8212d7fbf2bd91.zip
[DYNAREC] Added 66 0F E3 opcode
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/dynarec_arm64_660f.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_arm64_660f.c b/src/dynarec/dynarec_arm64_660f.c
index 39467aa5..ce959952 100755
--- a/src/dynarec/dynarec_arm64_660f.c
+++ b/src/dynarec/dynarec_arm64_660f.c
@@ -236,6 +236,20 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
                     VANDQ(d0, d0, q1);  // mask the index

                     VTBLQ1_8(q0, q0, d0);

                     break;

+                case 0x01:

+                    INST_NAME("PHADDW Gx, Ex");

+                    nextop = F8;

+                    GETGX(q0);

+                    GETEX(q1, 0);

+                    VADDPQ_16(q0, q0, q1);

+                    break;

+                case 0x02:

+                    INST_NAME("PHADDD Gx, Ex");

+                    nextop = F8;

+                    GETGX(q0);

+                    GETEX(q1, 0);

+                    VADDPQ_32(q0, q0, q1);

+                    break;

 

                 case 0x04:

                     INST_NAME("PMADDUBSW Gx,Ex");

@@ -1673,7 +1687,13 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n
             VMOVeD(v0, 1, v0, 0);

             SSHLQ_32(q0, q0, v0);

             break;

-

+        case 0xE3:

+            INST_NAME("PAVGW Gx,Ex");

+            nextop = F8;

+            GETGX(v0);

+            GETEX(q0, 0);

+            URHADDQ_16(v0, v0, q0);

+            break;

         case 0xE4:

             INST_NAME("PMULHUW Gx,Ex");

             nextop = F8;