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

Reply via email to