[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 23/48] tcg/optimize: Split out fold_extract2
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v3 23/48] tcg/optimize: Split out fold_extract2 |
Date: |
Fri, 22 Oct 2021 16:07:39 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.1.0 |
On 10/21/21 23:05, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> tcg/optimize.c | 39 ++++++++++++++++++++++-----------------
> 1 file changed, 22 insertions(+), 17 deletions(-)
> +static bool fold_extract2(OptContext *ctx, TCGOp *op)
> +{
> + if (arg_is_const(op->args[1]) && arg_is_const(op->args[2])) {
> + uint64_t v1 = arg_info(op->args[1])->val;
> + uint64_t v2 = arg_info(op->args[2])->val;
> + int shr = op->args[3];
> +
> + if (op->opc == INDEX_op_extract2_i64) {
> + v1 >>= shr;
> + v2 <<= 64 - shr;
> + } else {
> + v1 = (uint32_t)v1 >> shr;
> + v2 = (int32_t)v2 << (32 - shr);
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> + }
> + return tcg_opt_gen_movi(ctx, op, op->args[0], v1 | v2);
> + }
> + return false;
> +}
- [PATCH v3 04/48] tcg/optimize: Change tcg_opt_gen_{mov, movi} interface, (continued)
- [PATCH v3 04/48] tcg/optimize: Change tcg_opt_gen_{mov, movi} interface, Richard Henderson, 2021/10/21
- [PATCH v3 07/48] tcg/optimize: Split out copy_propagate, Richard Henderson, 2021/10/21
- [PATCH v3 15/48] tcg/optimize: Split out fold_const{1,2}, Richard Henderson, 2021/10/21
- [PATCH v3 13/48] tcg/optimize: Use a boolean to avoid a mass of continues, Richard Henderson, 2021/10/21
- [PATCH v3 22/48] tcg/optimize: Split out fold_movcond, Richard Henderson, 2021/10/21
- [PATCH v3 19/48] tcg/optimize: Split out fold_setcond, Richard Henderson, 2021/10/21
- [PATCH v3 23/48] tcg/optimize: Split out fold_extract2, Richard Henderson, 2021/10/21
- [PATCH v3 21/48] tcg/optimize: Split out fold_addsub2_i32, Richard Henderson, 2021/10/21
- [PATCH v3 17/48] tcg/optimize: Split out fold_brcond2, Richard Henderson, 2021/10/21
- [PATCH v3 31/48] tcg/optimize: Split out fold_xx_to_x, Richard Henderson, 2021/10/21
- [PATCH v3 32/48] tcg/optimize: Split out fold_xi_to_i, Richard Henderson, 2021/10/21