Skip to content

Commit

Permalink
[DYNAREC] Fixed previous commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ptitSeb committed May 19, 2024
1 parent 25e1d8b commit 4141748
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/dynarec/dynarec_arm_00.c
Original file line number Diff line number Diff line change
Expand Up @@ -1239,7 +1239,7 @@ uintptr_t dynarec00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int ninst,
break;
case 0x9D:
INST_NAME("POPF");
SETFLAGS(X_ALL, SF_SET_DF);
SETFLAGS(X_ALL, SF_SET_NODF);
POP1(xFlags);
MOV32(x1, 0x3F7FD7);
AND_REG_LSL_IMM5(xFlags, xFlags, x1, 0);
Expand Down Expand Up @@ -1765,7 +1765,7 @@ uintptr_t dynarec00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int ninst,

case 0xCF:
INST_NAME("IRET");
SETFLAGS(X_ALL, SF_SET_DF); // Not a hack, EFLAGS are restored
SETFLAGS(X_ALL, SF_SET_NODF); // Not a hack, EFLAGS are restored
BARRIER(BARRIER_FLOAT);
iret_to_epilog(dyn, ninst);
*need_epilog = 0;
Expand Down
2 changes: 1 addition & 1 deletion src/dynarec/dynarec_arm_0f.c
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ uintptr_t dynarec0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int ninst,
// no special check...
case 0x2F:
if(opcode==0x2F) {INST_NAME("COMISS Gx, Ex");} else {INST_NAME("UCOMISS Gx, Ex");}
SETFLAGS(X_ALL, SF_SET_DF);
SETFLAGS(X_ALL, SF_SET_NODF);
nextop = F8;
GETGX(v0, 0);
if(MODREG) {
Expand Down
4 changes: 2 additions & 2 deletions src/dynarec/dynarec_arm_66.c
Original file line number Diff line number Diff line change
Expand Up @@ -637,7 +637,7 @@ uintptr_t dynarec66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int ninst,
break;
case 0x9D:
INST_NAME("POPF (16b)");
SETFLAGS(X_ALL, SF_SET_DF); // lower 16bits is all flags handled in dynarec
SETFLAGS(X_ALL, SF_SET_NODF); // lower 16bits is all flags handled in dynarec
LDRHA_IMM8(x2, xESP, 2);
MOV32(x1, 0x7FD7);
AND_REG_LSL_IMM5(x2, x2, x1, 0);
Expand Down Expand Up @@ -1161,7 +1161,7 @@ uintptr_t dynarec66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int ninst,
INST_NAME("DIV Ew");
if(arm_div) {
GETEW(x1);
SETFLAGS(X_ALL, SF_SET_DF);
SETFLAGS(X_ALL, SF_SET_NODF);
SET_DFNONE(x2);
UXTH(x2, xEAX, 0);
ORR_REG_LSL_IMM5(x2, x2, xEDX, 16);
Expand Down
2 changes: 1 addition & 1 deletion src/dynarec/dynarec_arm_660f.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ uintptr_t dynarec660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nins
// no special check...
case 0x2F:
if(opcode==0x2F) {INST_NAME("COMISD Gx, Ex");} else {INST_NAME("UCOMISD Gx, Ex");}
SETFLAGS(X_ALL, SF_SET_DF);
SETFLAGS(X_ALL, SF_SET_NODF);
nextop = F8;
gd = (nextop&0x38)>>3;
v0 = sse_get_reg(dyn, ninst, x1, gd, 0);
Expand Down

0 comments on commit 4141748

Please sign in to comment.