> -----Original Message-----
> From: Matheus Tavares Bernardino <quic_mathb...@quicinc.com>
> Sent: Friday, September 30, 2022 3:08 PM
> To: qemu-devel@nongnu.org
> Cc: Taylor Simpson <tsimp...@quicinc.com>
> Subject: [PATCH] Hexagon (gen_tcg_funcs.py): avoid duplicated tcg code on
> A_CVI_NEW
>
> Hexagon instructions with the A_CVI_NEW attribute produce a vector value
> that can be used in the same packet. The python function responsible for
> generating code for such instructions has a typo ("if" instead of "elif"),
> which
> makes genptr_dst_write_ext() be executed twice, thus also generating the
> same tcg code twice. Fortunately, this doesn't cause any problems for
> correctness, but it is less efficient than it could be. Fix it by using an
> "elif" and
> avoiding the unnecessary extra code gen.
>
> Signed-off-by: Matheus Tavares Bernardino <quic_mathb...@quicinc.com>
> ---
> target/hexagon/gen_tcg_funcs.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/hexagon/gen_tcg_funcs.py
> b/target/hexagon/gen_tcg_funcs.py index d72c689ad7..6dea02b0b9 100755
> --- a/target/hexagon/gen_tcg_funcs.py
> +++ b/target/hexagon/gen_tcg_funcs.py
> @@ -548,7 +548,7 @@ def genptr_dst_write_opn(f,regtype, regid, tag):
> if (hex_common.is_hvx_reg(regtype)):
> if (hex_common.is_new_result(tag)):
> genptr_dst_write_ext(f, tag, regtype, regid, "EXT_NEW")
> - if (hex_common.is_tmp_result(tag)):
> + elif (hex_common.is_tmp_result(tag)):
> genptr_dst_write_ext(f, tag, regtype, regid, "EXT_TMP")
> else:
> genptr_dst_write_ext(f, tag, regtype, regid, "EXT_DFL")
Reviewed-by: Taylor Simpson <tsimp...@quicinc.com>