mirror of https://github.com/xemu-project/xemu.git
tcg: Fix tcg_reg_alloc_dup*
The assignment to mem_coherent should be done with any modification, not simply with a newly allocated register. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
7789b16d11
commit
36f5539cfd
|
@ -3498,7 +3498,6 @@ static void tcg_reg_alloc_dup(TCGContext *s, const TCGOp *op)
|
||||||
ots->reg = tcg_reg_alloc(s, dup_out_regs, allocated_regs,
|
ots->reg = tcg_reg_alloc(s, dup_out_regs, allocated_regs,
|
||||||
op->output_pref[0], ots->indirect_base);
|
op->output_pref[0], ots->indirect_base);
|
||||||
ots->val_type = TEMP_VAL_REG;
|
ots->val_type = TEMP_VAL_REG;
|
||||||
ots->mem_coherent = 0;
|
|
||||||
s->reg_to_temp[ots->reg] = ots;
|
s->reg_to_temp[ots->reg] = ots;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3552,6 +3551,7 @@ static void tcg_reg_alloc_dup(TCGContext *s, const TCGOp *op)
|
||||||
tcg_debug_assert(ok);
|
tcg_debug_assert(ok);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
ots->mem_coherent = 0;
|
||||||
if (IS_DEAD_ARG(1)) {
|
if (IS_DEAD_ARG(1)) {
|
||||||
temp_dead(s, its);
|
temp_dead(s, its);
|
||||||
}
|
}
|
||||||
|
@ -3779,7 +3779,6 @@ static bool tcg_reg_alloc_dup2(TCGContext *s, const TCGOp *op)
|
||||||
ots->reg = tcg_reg_alloc(s, dup_out_regs, allocated_regs,
|
ots->reg = tcg_reg_alloc(s, dup_out_regs, allocated_regs,
|
||||||
op->output_pref[0], ots->indirect_base);
|
op->output_pref[0], ots->indirect_base);
|
||||||
ots->val_type = TEMP_VAL_REG;
|
ots->val_type = TEMP_VAL_REG;
|
||||||
ots->mem_coherent = 0;
|
|
||||||
s->reg_to_temp[ots->reg] = ots;
|
s->reg_to_temp[ots->reg] = ots;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3823,6 +3822,7 @@ static bool tcg_reg_alloc_dup2(TCGContext *s, const TCGOp *op)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
ots->mem_coherent = 0;
|
||||||
if (IS_DEAD_ARG(1)) {
|
if (IS_DEAD_ARG(1)) {
|
||||||
temp_dead(s, itsl);
|
temp_dead(s, itsl);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue