diff options
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; |