From d45558782feab081ada8eb4d7ee51e1954595233 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Thu, 1 Apr 2021 13:47:46 +0200 Subject: [DYNAREC] Added 66 0F C6 opcode --- src/dynarec/dynarec_arm64_660f.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/dynarec/dynarec_arm64_660f.c b/src/dynarec/dynarec_arm64_660f.c index 006848d6..1e55437d 100755 --- a/src/dynarec/dynarec_arm64_660f.c +++ b/src/dynarec/dynarec_arm64_660f.c @@ -997,6 +997,26 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n LDRH_U12(gd, wback, u8*2); } break; + case 0xC6: + INST_NAME("SHUFPD Gx, Ex, Ib"); + nextop = F8; + GETGX(v0); + GETEX(v1, 1); + u8 = F8; + if(v0==v1 && u8==0) { + VMOVeD(v0, 1, v0, 0); + } else { + if(v0==v1) + q0 = fpu_get_scratch(dyn); + else + q0 = v0; + VMOVeD(q0, 0, v0, (u8&1)); + VMOVeD(q0, 1, v1, ((u8>>1)&1)); + if(v0==v1) { + VMOVQ(v0, q0); + } + } + break; case 0xD4: -- cgit 1.4.1