> -----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>

Reply via email to