diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-11-26 12:37:08 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-11-26 12:37:08 +0100 |
| commit | a43186d137bb06f0bbdc4da4560dcee5023974eb (patch) | |
| tree | 681c6595e51fd95efb8b44ad798d2781e3230cf8 /src | |
| parent | 554f4889bc3937d29893bb873429e01fd10953a1 (diff) | |
| download | box64-a43186d137bb06f0bbdc4da4560dcee5023974eb.tar.gz box64-a43186d137bb06f0bbdc4da4560dcee5023974eb.zip | |
[DYNAREC] Fixed 66 64 0F 2E/2F opcodes
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_6664.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_6664.c b/src/dynarec/arm64/dynarec_arm64_6664.c index 1485c86b..56697b22 100644 --- a/src/dynarec/arm64/dynarec_arm64_6664.c +++ b/src/dynarec/arm64/dynarec_arm64_6664.c @@ -53,7 +53,6 @@ uintptr_t dynarec64_6664(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n case 0x0F: opcode = F8; switch(opcode) { - /* //Something is wrong, and this gives a SIGILL case 0x2E: // no special check... case 0x2F: @@ -61,8 +60,9 @@ uintptr_t dynarec64_6664(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n SETFLAGS(X_ALL, SF_SET); nextop = F8; GETG; + v0 = sse_get_reg(dyn, ninst, x1, gd, 0); if(MODREG) { - v0 = sse_get_reg(dyn, ninst, x1, (nextop&7) + (rex.b<<3), 0); + v1 = sse_get_reg(dyn, ninst, x1, (nextop&7) + (rex.b<<3), 0); } else { grab_segdata(dyn, addr, ninst, x4, _FS); addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0, 0, rex, NULL, 0, 0); @@ -72,7 +72,6 @@ uintptr_t dynarec64_6664(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n FCMPD(v0, v1); FCOMI(x1, x2); break; - */ case 0xD6: INST_NAME("MOVQ Ex, Gx"); nextop = F8; |