On Wed, Oct 05, 2022 at 08:43:59PM -0700, Richard Henderson wrote:
> In most cases, this is a simple local allocate and free
> replaced by tcg_constant_*. In three cases, a variable
> temp was initialized with a constant value -- reorg to
> localize the constant.
>
> Signed-off-by: Richard Henderson <[email protected]>
> ---
> target/s390x/tcg/translate_vx.c.inc | 45 +++++++++++++----------------
> 1 file changed, 20 insertions(+), 25 deletions(-)
...
> @@ -1359,7 +1359,7 @@ static DisasJumpType op_va(DisasContext *s, DisasOps *o)
> static void gen_acc(TCGv_i64 d, TCGv_i64 a, TCGv_i64 b, uint8_t es)
> {
> const uint8_t msb_bit_nr = NUM_VEC_ELEMENT_BITS(es) - 1;
> - TCGv_i64 msb_mask = tcg_const_i64(dup_const(es, 1ull << msb_bit_nr));
> + TCGv_i64 msb_mask = tcg_constant_i64(dup_const(es, 1ull << msb_bit_nr));
> TCGv_i64 t1 = tcg_temp_new_i64();
> TCGv_i64 t2 = tcg_temp_new_i64();
> TCGv_i64 t3 = tcg_temp_new_i64();
This also fixes a leak, right?
...
Reviewed-by: Ilya Leoshkevich <[email protected]>