The tcg_gen_trunc_shr_i64_i32 function takes a 64-bit argument and returns a 32-bit value. Directly call tcg_gen_op3 with the correct types instead of calling tcg_gen_op3i_i32 and abusing the TCG types.
Reviewed-by: Richard Henderson <r...@twiddle.net> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- tcg/tcg-op.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c index 61b64db..0e79fd1 100644 --- a/tcg/tcg-op.c +++ b/tcg/tcg-op.c @@ -1752,8 +1752,8 @@ void tcg_gen_trunc_shr_i64_i32(TCGv_i32 ret, TCGv_i64 arg, unsigned count) tcg_temp_free_i64(t); } } else if (TCG_TARGET_HAS_trunc_shr_i64_i32) { - tcg_gen_op3i_i32(INDEX_op_trunc_shr_i64_i32, ret, - MAKE_TCGV_I32(GET_TCGV_I64(arg)), count); + tcg_gen_op3(&tcg_ctx, INDEX_op_trunc_shr_i64_i32, + GET_TCGV_I32(ret), GET_TCGV_I64(arg), count); } else if (count == 0) { tcg_gen_mov_i32(ret, MAKE_TCGV_I32(GET_TCGV_I64(arg))); } else { -- 2.1.4