On Thu, Sep 10, 2026 at 10:32 AM Brian Cain <[email protected]> wrote:
>
> target/hexagon is about to address its HVX register file through a
> runtime base pointer rather than a constant offset from env, in order to
> share one register file between several vCPUs.  The gvec ops it needs
> have no base-parameterized form yet.
>
> Split tcg_gen_gvec_{and,or,xor,andc,orc,not,abs,smin,umin,smax,umax}
> the same way tcg_gen_gvec_{add,sub,mov,dup_imm} already are: the work
> moves to a _var function taking a TCGv_ptr base per operand, and the
> existing entry point becomes a wrapper passing tcg_env.
>
> The aofs == bofs shortcuts also have to compare the bases, since equal
> offsets into different objects are not the same operand.
>
> Signed-off-by: Brian Cain <[email protected]>
> ---
>  include/tcg/tcg-op-gvec-common.h |  45 ++++++++
>  tcg/tcg-op-gvec.c                | 184 ++++++++++++++++++++++++-------
>  2 files changed, 189 insertions(+), 40 deletions(-)

Reviewed-by: Marco Liebel <[email protected]>

Reply via email to