diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-24 14:42:20 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-24 14:42:20 +0100 |
| commit | c4198554adbb0d9f99b1e0b06929a3fc3980331f (patch) | |
| tree | 3cc953820e24e55407f7dfc0cf44f462ccf3659f /src | |
| parent | ed45a8d6662b9d4e170734d51f7f39d21f762335 (diff) | |
| download | box64-c4198554adbb0d9f99b1e0b06929a3fc3980331f.tar.gz box64-c4198554adbb0d9f99b1e0b06929a3fc3980331f.zip | |
[DYNAREC] Added 66 0F F8..FE opcodes
Diffstat (limited to 'src')
| -rwxr-xr-x | src/dynarec/dynarec_arm64_660f.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_660f.c b/src/dynarec/dynarec_arm64_660f.c index 9d8bc079..4d5dc0de 100755 --- a/src/dynarec/dynarec_arm64_660f.c +++ b/src/dynarec/dynarec_arm64_660f.c @@ -821,6 +821,56 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n VUMULL_32(v0, q0, q1); break; + case 0xF8: + INST_NAME("PSUBB Gx,Ex"); + nextop = F8; + GETGX(v0); + GETEX(q0, 0); + VSUBQ_8(v0, v0, q0); + break; + case 0xF9: + INST_NAME("PSUBW Gx,Ex"); + nextop = F8; + GETGX(v0); + GETEX(q0, 0); + VSUBQ_16(v0, v0, q0); + break; + case 0xFA: + INST_NAME("PSUBD Gx,Ex"); + nextop = F8; + GETGX(v0); + GETEX(q0, 0); + VSUBQ_32(v0, v0, q0); + break; + case 0xFB: + INST_NAME("PSUBQ Gx,Ex"); + nextop = F8; + GETGX(v0); + GETEX(q0, 0); + VSUBQ_64(v0, v0, q0); + break; + case 0xFC: + INST_NAME("PADDB Gx,Ex"); + nextop = F8; + GETGX(v0); + GETEX(q0, 0); + VADDQ_8(v0, v0, q0); + break; + case 0xFD: + INST_NAME("PADDW Gx,Ex"); + nextop = F8; + GETGX(v0); + GETEX(q0, 0); + VADDQ_16(v0, v0, q0); + break; + case 0xFE: + INST_NAME("PADDD Gx,Ex"); + nextop = F8; + GETGX(v0); + GETEX(q0, 0); + VADDQ_32(v0, v0, q0); + break; + default: DEFAULT; } |