From 4d377de5abe2ebf614b9fc41da9c54dd81a5ce20 Mon Sep 17 00:00:00 2001 From: Leslie Zhai Date: Thu, 19 Dec 2024 16:34:54 +0800 Subject: [LA64_DYNAREC] Added CLC and PMOVZXBW opcodes (#2172) --- src/dynarec/la64/dynarec_la64_00.c | 9 +++++++++ src/dynarec/la64/dynarec_la64_660f.c | 7 +++++++ 2 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/dynarec/la64/dynarec_la64_00.c b/src/dynarec/la64/dynarec_la64_00.c index 22310ce1..e428ee3f 100644 --- a/src/dynarec/la64/dynarec_la64_00.c +++ b/src/dynarec/la64/dynarec_la64_00.c @@ -2477,6 +2477,15 @@ uintptr_t dynarec64_00(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni DEFAULT; } break; + case 0xF8: + INST_NAME("CLC"); + SETFLAGS(X_CF, SF_SUBSET); + SET_DFNONE(); + if (la64_lbt) + X64_SET_EFLAGS(xZR, X_CF); + else + BSTRINS_D(xFlags, xZR, F_CF, F_CF); + break; case 0xFC: INST_NAME("CLD"); BSTRINS_D(xFlags, xZR, F_DF, F_DF); diff --git a/src/dynarec/la64/dynarec_la64_660f.c b/src/dynarec/la64/dynarec_la64_660f.c index 2037e460..47f9d1c0 100644 --- a/src/dynarec/la64/dynarec_la64_660f.c +++ b/src/dynarec/la64/dynarec_la64_660f.c @@ -417,6 +417,13 @@ uintptr_t dynarec64_660F(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int VEXTRINS_D(q0, v1, VEXTRINS_IMM_4_0(1, 0)); } break; + case 0x30: + INST_NAME("PMOVZXBW Gx, Ex"); + nextop = F8; + GETEX(q1, 0, 0); + GETGX_empty(q0); + VEXT2XV_HU_BU(q0, q1); + break; case 0x3A: INST_NAME("PMINUW Gx, Ex"); // SSE4 opcode! nextop = F8; -- cgit 1.4.1