From 66b3303f2218fb9711e52148b0a6e2bfd680bc50 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 17 May 2021 20:42:01 +0200 Subject: [DYNAREC] Added 66 0F D3/F3 opcodes --- src/dynarec/dynarec_arm64_660f.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/dynarec/dynarec_arm64_660f.c b/src/dynarec/dynarec_arm64_660f.c index 6a6196fe..526c62ca 100755 --- a/src/dynarec/dynarec_arm64_660f.c +++ b/src/dynarec/dynarec_arm64_660f.c @@ -1085,6 +1085,16 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n break; + case 0xD3: + INST_NAME("PSRLQ Gx,Ex"); + nextop = F8; + GETGX(q0); + GETEX(q1, 0); + v0 = fpu_get_scratch(dyn); + NEG_64(v0, q1); + VMOVeD(v0, 1, v0, 0); + USHLQ_64(q0, q0, v0); + break; case 0xD4: INST_NAME("PADDQ Gx,Ex"); nextop = F8; @@ -1327,7 +1337,16 @@ 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 0xF3: + INST_NAME("PSLLQ Gx,Ex"); + nextop = F8; + GETGX(q0); + GETEX(q1, 0); + v0 = fpu_get_scratch(dyn); + VMOVQ(v0, q1); + VMOVeD(v0, 1, v0, 0); + USHLQ_64(q0, q0, v0); + break; case 0xF4: INST_NAME("PMULUDQ Gx,Ex"); nextop = F8; -- cgit 1.4.1