[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 23/36] tcg: Add tcg_reg_alloc_dup2
From: |
Alex Bennée |
Subject: |
Re: [PATCH v2 23/36] tcg: Add tcg_reg_alloc_dup2 |
Date: |
Wed, 22 Apr 2020 20:40:59 +0100 |
User-agent: |
mu4e 1.4.1; emacs 28.0.50 |
Richard Henderson <address@hidden> 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 <address@hidden>
> ---
> 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 <address@hidden>
--
Alex Bennée
- Re: [PATCH v2 20/36] tcg: Remove movi and dupi opcodes, (continued)
- [PATCH v2 15/36] tcg: Use tcg_constant_{i32,i64} with tcg plugins, Richard Henderson, 2020/04/21
- [PATCH v2 10/36] tcg: Add temp_readonly, Richard Henderson, 2020/04/21
- [PATCH v2 22/36] tcg: Increase tcg_out_dupi_vec immediate to int64_t, Richard Henderson, 2020/04/21
- [PATCH v2 19/36] tcg/tci: Add special tci_movi_{i32,i64} opcodes, Richard Henderson, 2020/04/21
- [PATCH v2 23/36] tcg: Add tcg_reg_alloc_dup2, Richard Henderson, 2020/04/21
- Re: [PATCH v2 23/36] tcg: Add tcg_reg_alloc_dup2,
Alex Bennée <=
- [PATCH v2 24/36] tcg/i386: Use tcg_constant_vec with tcg vec expanders, Richard Henderson, 2020/04/21
- [PATCH v2 25/36] tcg: Remove tcg_gen_dup{8,16,32,64}i_vec, Richard Henderson, 2020/04/21
- [PATCH v2 26/36] tcg: Add load_dest parameter to GVecGen2, Richard Henderson, 2020/04/21
- [PATCH v2 27/36] tcg: Fix integral argument type to tcg_gen_rot[rl]i_i{32, 64}, Richard Henderson, 2020/04/21
- [PATCH v2 28/36] tcg: Implement gvec support for rotate by immediate, Richard Henderson, 2020/04/21