> -----Original Message----- > From: Richard Henderson <richard.hender...@linaro.org> > Sent: Tuesday, November 8, 2022 1:20 AM > To: Taylor Simpson <tsimp...@quicinc.com>; qemu-devel@nongnu.org > Cc: phi...@linaro.org; a...@rev.ng; a...@rev.ng; Brian Cain > <bc...@quicinc.com>; Matheus Bernardino (QUIC) > <quic_mathb...@quicinc.com> > Subject: Re: [PATCH v4 03/11] Hexagon (target/hexagon) Add overrides for > S2_asr_r_r_sat/S2_asl_r_r_sat > > Consider > > /* > * sh32 = shift & 31; > * dst = sh32 == shift ? src : 0; > * dst <<= sh32; > * dst_sar = dst >> sh32; > * if (dst_sar != src) ... > */ > tcg_gen_andi_i32(sh32, shift_amt, 31); > tcg_gen_movcond_i32(TCG_COND_EQ, dst, > sh32, shift_amt, > src, tcg_constant_i32(0)); > tcg_gen_shl_i32(dst, dst, sh32); > tcg_gen_sar_i32(dst_sar, dst, sh32);
Will do. Thanks, Taylor