[RV64_DYNAREC] Fixed more register conflicts (#1726)

This commit is contained in:
Yang Liu 2024-08-10 02:16:52 +08:00 committed by GitHub
parent 8893344b76
commit 2a07636623
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 8 deletions

View File

@ -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");

View File

@ -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");

View File

@ -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");