mirror of
https://github.com/ptitSeb/box64.git
synced 2025-02-20 06:22:59 +00:00
[RV64_DYNAREC] Fixed more register conflicts (#1726)
This commit is contained in:
parent
8893344b76
commit
2a07636623
@ -192,7 +192,7 @@ uintptr_t dynarec64_00_0(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
nextop = F8;
|
||||
GETEB(x1, 0);
|
||||
GETGB(x2);
|
||||
emit_adc8(dyn, ninst, x1, x2, x4, x5, x3);
|
||||
emit_adc8(dyn, ninst, x1, x2, x4, x5, x6);
|
||||
EBBACK(x5, 0);
|
||||
break;
|
||||
case 0x11:
|
||||
@ -212,7 +212,7 @@ uintptr_t dynarec64_00_0(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
nextop = F8;
|
||||
GETEB(x2, 0);
|
||||
GETGB(x1);
|
||||
emit_adc8(dyn, ninst, x1, x2, x4, x3, x5);
|
||||
emit_adc8(dyn, ninst, x1, x2, x4, x6, x5);
|
||||
GBBACK(x5);
|
||||
break;
|
||||
case 0x13:
|
||||
@ -290,7 +290,7 @@ uintptr_t dynarec64_00_0(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
nextop = F8;
|
||||
GETEB(x2, 0);
|
||||
GETGB(x1);
|
||||
emit_sbb8(dyn, ninst, x1, x2, x3, x4, x5);
|
||||
emit_sbb8(dyn, ninst, x1, x2, x6, x4, x5);
|
||||
GBBACK(x5);
|
||||
break;
|
||||
case 0x1B:
|
||||
@ -502,7 +502,7 @@ uintptr_t dynarec64_00_0(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
nextop = F8;
|
||||
GETEB(x1, 0);
|
||||
GETGB(x2);
|
||||
emit_cmp8(dyn, ninst, x1, x2, x3, x4, x5, x6);
|
||||
emit_cmp8(dyn, ninst, x1, x2, x9, x4, x5, x6);
|
||||
break;
|
||||
case 0x39:
|
||||
INST_NAME("CMP Ed, Gd");
|
||||
@ -518,7 +518,7 @@ uintptr_t dynarec64_00_0(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
nextop = F8;
|
||||
GETEB(x1, 0);
|
||||
GETGB(x2);
|
||||
emit_cmp8(dyn, ninst, x2, x1, x3, x4, x5, x6);
|
||||
emit_cmp8(dyn, ninst, x2, x1, x9, x4, x5, x6);
|
||||
break;
|
||||
case 0x3B:
|
||||
INST_NAME("CMP Gd, Ed");
|
||||
|
@ -118,7 +118,7 @@ uintptr_t dynarec64_00_2(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
u8 = F8;
|
||||
if(u8) {
|
||||
ADDI(x2, xZR, u8);
|
||||
emit_cmp8(dyn, ninst, x1, x2, x3, x4, x5, x6);
|
||||
emit_cmp8(dyn, ninst, x1, x2, x9, x4, x5, x6);
|
||||
} else {
|
||||
emit_cmp8_0(dyn, ninst, x1, x3, x4);
|
||||
}
|
||||
@ -215,7 +215,7 @@ uintptr_t dynarec64_00_2(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
nextop=F8;
|
||||
GETEB(x1, 0);
|
||||
GETGB(x2);
|
||||
emit_test8(dyn, ninst, x1, x2, x3, x4, x5);
|
||||
emit_test8(dyn, ninst, x1, x2, x6, x4, x5);
|
||||
break;
|
||||
case 0x85:
|
||||
INST_NAME("TEST Ed, Gd");
|
||||
|
@ -1018,7 +1018,7 @@ uintptr_t dynarec64_00_3(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int
|
||||
GETEB(x1, 1);
|
||||
u8 = F8;
|
||||
MOV32w(x2, u8);
|
||||
emit_test8(dyn, ninst, x1, x2, x3, x4, x5);
|
||||
emit_test8(dyn, ninst, x1, x2, x6, x4, x5);
|
||||
break;
|
||||
case 2:
|
||||
INST_NAME("NOT Eb");
|
||||
|
Loading…
x
Reference in New Issue
Block a user