diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2022-12-01 00:44:13 -0800 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2023-01-04 16:20:01 -0800 |
commit | 36f5539cfd3f09444657e4c1f6b6b461cea2235f (patch) | |
tree | 59947695846cd2bbc16612d523b0f15626ef1131 /tcg/tcg.c | |
parent | 7789b16d110af4fbf73310fac8fa4012925928ab (diff) | |
download | qemu-36f5539cfd3f09444657e4c1f6b6b461cea2235f.zip qemu-36f5539cfd3f09444657e4c1f6b6b461cea2235f.tar.gz qemu-36f5539cfd3f09444657e4c1f6b6b461cea2235f.tar.bz2 |
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>
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r-- | tcg/tcg.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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, op->output_pref[0], ots->indirect_base); ots->val_type = TEMP_VAL_REG; - ots->mem_coherent = 0; 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); done: + ots->mem_coherent = 0; if (IS_DEAD_ARG(1)) { 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, op->output_pref[0], ots->indirect_base); ots->val_type = TEMP_VAL_REG; - ots->mem_coherent = 0; s->reg_to_temp[ots->reg] = ots; } @@ -3823,6 +3822,7 @@ static bool tcg_reg_alloc_dup2(TCGContext *s, const TCGOp *op) return false; done: + ots->mem_coherent = 0; if (IS_DEAD_ARG(1)) { temp_dead(s, itsl); } |