mirror of
https://github.com/libretro/parallel-n64.git
synced 2024-11-30 03:40:36 +00:00
Backport 03e16a93d7
This commit is contained in:
parent
54f3f99dc5
commit
af012549d1
@ -4196,7 +4196,6 @@ void gendsllv(void)
|
||||
else
|
||||
{
|
||||
int temp1, temp2;
|
||||
force_32(ECX);
|
||||
temp1 = lru_register();
|
||||
temp2 = lru_register_exc1(temp1);
|
||||
free_register(temp1);
|
||||
@ -4268,7 +4267,6 @@ void gendsrlv(void)
|
||||
else
|
||||
{
|
||||
int temp1, temp2;
|
||||
force_32(ECX);
|
||||
temp1 = lru_register();
|
||||
temp2 = lru_register_exc1(temp1);
|
||||
free_register(temp1);
|
||||
@ -4340,7 +4338,6 @@ void gendsrav(void)
|
||||
else
|
||||
{
|
||||
int temp1, temp2;
|
||||
force_32(ECX);
|
||||
temp1 = lru_register();
|
||||
temp2 = lru_register_exc1(temp1);
|
||||
free_register(temp1);
|
||||
|
@ -1057,39 +1057,6 @@ void set_64_register_state(int reg1, int reg2, uint32_t *addr, int d)
|
||||
dirty[reg2] = d;
|
||||
}
|
||||
|
||||
void force_32(int reg)
|
||||
{
|
||||
if (r64[reg] != -1)
|
||||
{
|
||||
struct precomp_instr *last = last_access[reg]+1;
|
||||
|
||||
while (last <= dst)
|
||||
{
|
||||
if (dirty[reg])
|
||||
last->reg_cache_infos.needed_registers[reg] = reg_content[reg];
|
||||
else
|
||||
last->reg_cache_infos.needed_registers[reg] = NULL;
|
||||
|
||||
if (dirty[r64[reg]])
|
||||
last->reg_cache_infos.needed_registers[r64[reg]] = reg_content[r64[reg]];
|
||||
else
|
||||
last->reg_cache_infos.needed_registers[r64[reg]] = NULL;
|
||||
|
||||
last++;
|
||||
}
|
||||
|
||||
if (dirty[reg])
|
||||
{
|
||||
mov_m32_reg32(reg_content[reg], reg);
|
||||
mov_m32_reg32(reg_content[r64[reg]], r64[reg]);
|
||||
dirty[reg] = 0;
|
||||
}
|
||||
last_access[r64[reg]] = NULL;
|
||||
free_since[r64[reg]] = dst+1;
|
||||
r64[reg] = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void allocate_register_manually(int reg, uint32_t *addr)
|
||||
{
|
||||
int i;
|
||||
|
@ -48,7 +48,6 @@ void allocate_register_manually(int reg, uint32_t *addr);
|
||||
void allocate_register_manually_w(int reg, uint32_t *addr, int load);
|
||||
|
||||
void set_64_register_state(int reg1, int reg2, uint32_t *addr, int dirty);
|
||||
void force_32(int reg);
|
||||
#endif
|
||||
|
||||
void simplify_access(void);
|
||||
|
Loading…
Reference in New Issue
Block a user