* tcg_gen_brcond_tl(skip_cond, skip_var0, skip_var1, skip_label);
* }
*
- * if (free_skip_var0) {
- * tcg_temp_free(skip_var0);
- * free_skip_var0 = false;
- * }
- *
* translate(ctx);
*
* if (skip_label) {
TCGv skip_var0;
TCGv skip_var1;
TCGCond skip_cond;
- bool free_skip_var0;
};
void avr_cpu_tcg_init(void)
ctx->skip_cond = TCG_COND_EQ;
ctx->skip_var0 = tcg_temp_new();
- ctx->free_skip_var0 = true;
tcg_gen_andi_tl(ctx->skip_var0, Rr, 1 << a->bit);
return true;
ctx->skip_cond = TCG_COND_NE;
ctx->skip_var0 = tcg_temp_new();
- ctx->free_skip_var0 = true;
tcg_gen_andi_tl(ctx->skip_var0, Rr, 1 << a->bit);
return true;
tcg_gen_andi_tl(temp, temp, 1 << a->bit);
ctx->skip_cond = TCG_COND_EQ;
ctx->skip_var0 = temp;
- ctx->free_skip_var0 = true;
return true;
}
tcg_gen_andi_tl(temp, temp, 1 << a->bit);
ctx->skip_cond = TCG_COND_NE;
ctx->skip_var0 = temp;
- ctx->free_skip_var0 = true;
return true;
}
ctx->skip_cond = TCG_COND_NE;
break;
}
- if (ctx->free_skip_var0) {
- tcg_temp_free(ctx->skip_var0);
- ctx->free_skip_var0 = false;
- }
ctx->skip_var0 = cpu_skip;
return true;
}
* This ensures that cpu_skip is non-zero after the label
* if and only if the skipped insn itself sets a skip.
*/
- ctx->free_skip_var0 = true;
ctx->skip_var0 = tcg_temp_new();
tcg_gen_mov_tl(ctx->skip_var0, cpu_skip);
tcg_gen_movi_tl(cpu_skip, 0);
ctx->skip_var1, skip_label);
ctx->skip_var1 = NULL;
}
- if (ctx->free_skip_var0) {
- tcg_temp_free(ctx->skip_var0);
- ctx->free_skip_var0 = false;
- }
ctx->skip_cond = TCG_COND_NEVER;
ctx->skip_var0 = NULL;
}