Message ID | 20231023160944.10692-6-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | tcg: Use tcg_gen_[s]extract_{i32,i64,tl} | expand |
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~
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); } // !0: FCC0 | FCC1
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(-)