static void tcg_reg_sync(TCGContext *s, TCGReg reg, TCGRegSet allocated_regs)

{

    TCGTemp *ts = s->reg_to_temp[reg];



    assert(ts->val_type == TEMP_VAL_REG);

    if (!ts->mem_coherent && !ts->fixed_reg) {

        if (!ts->mem_allocated) {

            temp_allocate_frame(s, temp_idx(s, ts));

        } else if (ts->indirect_reg) {

            tcg_regset_set_reg(allocated_regs, ts->reg);

            temp_load(s, ts->mem_base,

                      tcg_target_available_regs[TCG_TYPE_PTR],

                      allocated_regs);

        }

        tcg_out_st(s, ts->type, reg, ts->mem_base->reg, ts->mem_offset);

    }

    ts->mem_coherent = 1;

}

static void tcg_reg_sync(TCGContext *s, TCGReg reg, TCGRegSet allocated_regs)

{

    TCGTemp *ts = s->reg_to_temp[reg];



    assert(ts->val_type == TEMP_VAL_REG);

    if (!ts->mem_coherent && !ts->fixed_reg) {

        if (!ts->mem_allocated) {

            temp_allocate_frame(s, temp_idx(s, ts));

        } else if (ts->indirect_reg) {

            tcg_regset_set_reg(allocated_regs, ts->reg);

            temp_load(s, ts->mem_base,

                      tcg_target_available_regs[TCG_TYPE_PTR],

                      allocated_regs);

        }

        tcg_out_st(s, ts->type, reg, ts->mem_base->reg, ts->mem_offset);

    }

    ts->mem_coherent = 1;

}

static void FUNC_0(TCGContext *VAR_0, TCGReg VAR_1, TCGRegSet VAR_2)

{

    TCGTemp *ts = VAR_0->reg_to_temp[VAR_1];



    assert(ts->val_type == TEMP_VAL_REG);

    if (!ts->mem_coherent && !ts->fixed_reg) {

        if (!ts->mem_allocated) {

            temp_allocate_frame(VAR_0, temp_idx(VAR_0, ts));

        } else if (ts->indirect_reg) {

            tcg_regset_set_reg(VAR_2, ts->VAR_1);

            temp_load(VAR_0, ts->mem_base,

                      tcg_target_available_regs[TCG_TYPE_PTR],

                      VAR_2);

        }

        tcg_out_st(VAR_0, ts->type, VAR_1, ts->mem_base->VAR_1, ts->mem_offset);

    }

    ts->mem_coherent = 1;

}

static void FUNC_0(TCGContext *VAR_0, TCGReg VAR_1, TCGRegSet VAR_2)
{ TCGTemp *ts = VAR_0->reg_to_temp[VAR_1]; assert(ts->val_type == TEMP_VAL_REG); if (!ts->mem_coherent && !ts->fixed_reg) { if (!ts->mem_allocated) { temp_allocate_frame(VAR_0, temp_idx(VAR_0, ts)); } else if (ts->indirect_reg) { tcg_regset_set_reg(VAR_2, ts->VAR_1); temp_load(VAR_0, ts->mem_base,
tcg_target_available_regs[TCG_TYPE_PTR],
VAR_2); } tcg_out_st(VAR_0, ts->type, VAR_1, ts->mem_base->VAR_1, ts->mem_offset); } ts->mem_coherent = 1; }