mirror of
https://github.com/qemu/qemu.git
synced 2024-12-01 07:43:35 +08:00
target/arm: Use tcg_constant in trans_CSEL
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20220426163043.100432-36-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
5b95562c50
commit
0b188ea05a
@ -8982,13 +8982,14 @@ static bool trans_CSEL(DisasContext *s, arg_CSEL *a)
|
||||
}
|
||||
|
||||
/* In this insn input reg fields of 0b1111 mean "zero", not "PC" */
|
||||
zero = tcg_constant_i32(0);
|
||||
if (a->rn == 15) {
|
||||
rn = tcg_const_i32(0);
|
||||
rn = zero;
|
||||
} else {
|
||||
rn = load_reg(s, a->rn);
|
||||
}
|
||||
if (a->rm == 15) {
|
||||
rm = tcg_const_i32(0);
|
||||
rm = zero;
|
||||
} else {
|
||||
rm = load_reg(s, a->rm);
|
||||
}
|
||||
@ -9010,10 +9011,8 @@ static bool trans_CSEL(DisasContext *s, arg_CSEL *a)
|
||||
}
|
||||
|
||||
arm_test_cc(&c, a->fcond);
|
||||
zero = tcg_const_i32(0);
|
||||
tcg_gen_movcond_i32(c.cond, rn, c.value, zero, rn, rm);
|
||||
arm_free_cc(&c);
|
||||
tcg_temp_free_i32(zero);
|
||||
|
||||
store_reg(s, a->rd, rn);
|
||||
tcg_temp_free_i32(rm);
|
||||
|
Loading…
Reference in New Issue
Block a user