Richard Henderson <richard.hender...@linaro.org> writes:
> There are several ways we can expand a vector dup of a 64-bit > element on a 32-bit host. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > tcg/tcg.c | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 88 insertions(+) > > diff --git a/tcg/tcg.c b/tcg/tcg.c > index fc1c97d586..d712d19842 100644 > --- a/tcg/tcg.c > +++ b/tcg/tcg.c > @@ -3870,6 +3870,91 @@ static void tcg_reg_alloc_op(TCGContext *s, const > TCGOp *op) > } > } > > +static void tcg_reg_alloc_dup2(TCGContext *s, const TCGOp *op) > +{ > + const TCGLifeData arg_life = op->life; > + TCGTemp *ots, *itsl, *itsh; > + TCGType vtype = TCGOP_VECL(op) + TCG_TYPE_V64; > + > + /* This opcode is only valid for 32-bit hosts, for 64-bit elements. */ > + tcg_debug_assert(TCG_TARGET_REG_BITS == 32); Given this maybe the whole function should be in a #if TCG_TARGET_REG_BITS == 32 protection. Most of the other parts of the code that refer to this have something similar. Otherwise: Reviewed-by: Alex Bennée <alex.ben...@linaro.org> -- Alex Bennée