> -----Original Message-----
> From: Matheus Tavares Bernardino <[email protected]>
> Sent: Monday, May 20, 2024 10:53 AM
> To: [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Subject: [PATCH] Hexagon: fix HVX store new
>
> At 09a7e7db0f (Hexagon (target/hexagon) Remove uses of
> op_regs_generated.h.inc, 2024-03-06), we've changed the logic of
> check_new_value() to use the new pre-calculated
> packet->insn[...].dest_idx instead of calculating the index on the fly
> using opcode_reginfo[...]. The dest_idx index is calculated roughly like
the
> following:
>
> for reg in iset[tag]["syntax"]:
> if reg.is_written():
> dest_idx = regno
> break
>
> Thus, we take the first register that is writtable. Before that, however,
we
> also used to follow an alphabetical order on the register
> type: 'd', 'e', 'x', and 'y'. No longer following that makes us select the
wrong
> register index and the HVX store new instruction does not update the
> memory like expected.
>
> Signed-off-by: Matheus Tavares Bernardino <[email protected]>
Reviewed-by: Taylor Simpson <[email protected]>