target-microblaze: Use tcg_gen_movcond in eval_cond_jmp

Cleanup eval_cond_jmp to use tcg_gen_movcond_i64().
No functional change.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
Edgar E. Iglesias 2018-05-08 18:42:31 +02:00
parent 43d318b220
commit e956caf2a6
1 changed files with 10 additions and 6 deletions

View File

@ -1171,12 +1171,16 @@ static inline void eval_cc(DisasContext *dc, unsigned int cc,
static void eval_cond_jmp(DisasContext *dc, TCGv_i64 pc_true, TCGv_i64 pc_false) static void eval_cond_jmp(DisasContext *dc, TCGv_i64 pc_true, TCGv_i64 pc_false)
{ {
TCGLabel *l1 = gen_new_label(); TCGv_i64 tmp_btaken = tcg_temp_new_i64();
/* Conditional jmp. */ TCGv_i64 tmp_zero = tcg_const_i64(0);
tcg_gen_mov_i64(cpu_SR[SR_PC], pc_false);
tcg_gen_brcondi_i32(TCG_COND_EQ, env_btaken, 0, l1); tcg_gen_extu_i32_i64(tmp_btaken, env_btaken);
tcg_gen_mov_i64(cpu_SR[SR_PC], pc_true); tcg_gen_movcond_i64(TCG_COND_NE, cpu_SR[SR_PC],
gen_set_label(l1); tmp_btaken, tmp_zero,
pc_true, pc_false);
tcg_temp_free_i64(tmp_btaken);
tcg_temp_free_i64(tmp_zero);
} }
static void dec_bcc(DisasContext *dc) static void dec_bcc(DisasContext *dc)