diff options
| author | wannacu <wannacu2049@gmail.com> | 2023-08-10 16:45:21 +0800 |
|---|---|---|
| committer | wannacu <wannacu2049@gmail.com> | 2023-08-10 16:45:21 +0800 |
| commit | 4f1d3a75c29c580779be238d398f4137d1f13ae5 (patch) | |
| tree | 94b6df27b04c5b293f17ce3ac0c309f473ce2424 /src | |
| parent | 24c8af0363bc2ff64afb874a564da561181ef488 (diff) | |
| download | box64-4f1d3a75c29c580779be238d398f4137d1f13ae5.tar.gz box64-4f1d3a75c29c580779be238d398f4137d1f13ae5.zip | |
[ARM64_DYNAREC] Added 0F FB opcode
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_0f.c | 7 | ||||
| -rw-r--r-- | src/emu/x64run0f.c | 7 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c index ea976365..236df733 100644 --- a/src/dynarec/arm64/dynarec_arm64_0f.c +++ b/src/dynarec/arm64/dynarec_arm64_0f.c @@ -1972,6 +1972,13 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin GETEM(v1, 0); VADD_8(v0, v0, v1); break; + case 0xFB: + INST_NAME("PSUBQ Gm, Em"); + nextop = F8; + GETGM(v0); + GETEM(v1, 0); + SUB_64(v0, v0, v1); + break; case 0xFD: INST_NAME("PADDW Gm, Em"); nextop = F8; diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index b09dce9c..caa4eb98 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -1730,7 +1730,12 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) for(int i=0; i<2; ++i) GM->ud[i] -= EM->ud[i]; break; - + case 0xFB: /* PSUBQ Gm, Em */ + nextop = F8; + GETEM(0); + GETGM; + GM->sq -= EM->sq; + break; case 0xFC: /* PADDB Gm, Em */ nextop = F8; GETEM(0); |