On 10/23/23 09:09, Philippe Mathieu-Daudé wrote:
> Inspired-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> target/sparc/translate.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/target/sparc/translate.c b/target/sparc/translate.c
> index f92ff80ac8..16d9151b90 100644
> --- a/target/sparc/translate.c
> +++ b/target/sparc/translate.c
> @@ -740,14 +740,12 @@ static void gen_op_eval_bvc(TCGv dst, TCGv_i32 src)
> static void gen_mov_reg_FCC0(TCGv reg, TCGv src,
> unsigned int fcc_offset)
> {
> - tcg_gen_shri_tl(reg, src, FSR_FCC0_SHIFT + fcc_offset);
> - tcg_gen_andi_tl(reg, reg, 0x1);
> + tcg_gen_extract_tl(reg, src, FSR_FCC0_SHIFT + fcc_offset, 1);
> }
>
> static void gen_mov_reg_FCC1(TCGv reg, TCGv src, unsigned int fcc_offset)
> {
> - tcg_gen_shri_tl(reg, src, FSR_FCC1_SHIFT + fcc_offset);
> - tcg_gen_andi_tl(reg, reg, 0x1);
> + tcg_gen_extract_tl(reg, src, FSR_FCC1_SHIFT + fcc_offset, 1);
> }
I have patches as yet not published which remove these entirely.
But this is correct in the meantime,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~