On Mon, 26 Feb 2024 13:17:15 -0700 Taylor Simpson <ltaylorsimp...@gmail.com> 
wrote:
>
> diff --git a/target/hexagon/gen_trans_funcs.py 
> b/target/hexagon/gen_trans_funcs.py
> index 53e844a44b..79475b2946 100755
> --- a/target/hexagon/gen_trans_funcs.py
> +++ b/target/hexagon/gen_trans_funcs.py
> @@ -84,14 +84,15 @@ def gen_trans_funcs(f):
>                  insn->opcode = {tag};
>          """))
>  
> -        regno = 0
> -        for reg in regs:
> -            reg_type = reg[0]
> -            reg_id = reg[1]
> +        new_read_idx = -1
> +        for regno, regstruct in enumerate(regs):
> +            reg_type, reg_id, _, _ = regstruct
> +            reg = hex_common.get_register(tag, reg_type, reg_id)

Nit: since we don't care about the remaining elements of regstruct, we
could simplify (and future-proof) this even further to:

    reg_type, reg_id, *_ = regstruct

Or perhaps even eliminate the variable entirely:

    for regno, (reg_type, reg_id, *_) in enumerate(regs):
        ...

>              f.write(code_fmt(f"""\
>                  insn->regno[{regno}] = args->{reg_type}{reg_id};
>              """))
> -            regno += 1
> +            if reg.is_read() and reg.is_new():
> +                new_read_idx = regno
>  
>          if len(imms) != 0:
>              mark_which_imm_extended(f, tag)

Reply via email to