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