static char *tcg_get_arg_str_idx(TCGContext *s, char *buf, int buf_size,

                                 int idx)

{

    TCGTemp *ts;



    assert(idx >= 0 && idx < s->nb_temps);

    ts = &s->temps[idx];

    assert(ts);

    if (idx < s->nb_globals) {

        pstrcpy(buf, buf_size, ts->name);

    } else {

        if (ts->temp_local) 

            snprintf(buf, buf_size, "loc%d", idx - s->nb_globals);

        else

            snprintf(buf, buf_size, "tmp%d", idx - s->nb_globals);

    }

    return buf;

}

static char *tcg_get_arg_str_idx(TCGContext *s, char *buf, int buf_size,

                                 int idx)

{

    TCGTemp *ts;



    assert(idx >= 0 && idx < s->nb_temps);

    ts = &s->temps[idx];

    assert(ts);

    if (idx < s->nb_globals) {

        pstrcpy(buf, buf_size, ts->name);

    } else {

        if (ts->temp_local) 

            snprintf(buf, buf_size, "loc%d", idx - s->nb_globals);

        else

            snprintf(buf, buf_size, "tmp%d", idx - s->nb_globals);

    }

    return buf;

}

static char *FUNC_0(TCGContext *VAR_0, char *VAR_1, int VAR_2,

                                 int VAR_3)

{

    TCGTemp *ts;



    assert(VAR_3 >= 0 && VAR_3 < VAR_0->nb_temps);

    ts = &VAR_0->temps[VAR_3];

    assert(ts);

    if (VAR_3 < VAR_0->nb_globals) {

        pstrcpy(VAR_1, VAR_2, ts->name);

    } else {

        if (ts->temp_local) 

            snprintf(VAR_1, VAR_2, "loc%d", VAR_3 - VAR_0->nb_globals);

        else

            snprintf(VAR_1, VAR_2, "tmp%d", VAR_3 - VAR_0->nb_globals);

    }

    return VAR_1;

}

static char *FUNC_0(TCGContext *VAR_0, char *VAR_1, int VAR_2,
int VAR_3)
{ TCGTemp *ts; assert(VAR_3 >= 0 && VAR_3 < VAR_0->nb_temps); ts = &VAR_0->temps[VAR_3]; assert(ts); if (VAR_3 < VAR_0->nb_globals) { pstrcpy(VAR_1, VAR_2, ts->name); } else { if (ts->temp_local)
snprintf(VAR_1, VAR_2, "loc%d", VAR_3 - VAR_0->nb_globals); else
snprintf(VAR_1, VAR_2, "tmp%d", VAR_3 - VAR_0->nb_globals); } return VAR_1; }