|
From: | Richard Henderson |
Subject: | Re: [PATCH 22/33] target/mips: Convert MSA 3R instruction format to decodetree (part 1/4) |
Date: | Sun, 24 Oct 2021 13:27:49 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 |
On 10/24/21 11:57 AM, Philippe Mathieu-Daudé wrote:
On 10/24/21 19:52, Richard Henderson wrote:On 10/23/21 2:47 PM, Philippe Mathieu-Daudé wrote:+static bool trans_msa_3r_df(DisasContext *ctx, arg_msa_r *a, + void (*gen_msa_3r_df)(TCGv_ptr, TCGv_i32, TCGv_i32, + TCGv_i32, TCGv_i32)) +{ + TCGv_i32 tdf = tcg_constant_i32(a->df); + TCGv_i32 twd = tcg_const_i32(a->wd); + TCGv_i32 tws = tcg_const_i32(a->ws); + TCGv_i32 twt = tcg_const_i32(a->wt); + + gen_msa_3r_df(cpu_env, tdf, twd, tws, twt);Missing check_msa_access.It is included in TRANS_MSA(). How could I make that clearer? The style I follow is: - trans_UPPER() -> direct implementation - trans_lower() -> called via TRANS_xxx() macro
Hmm. I dunno. Especially since some of the cases require checking for the null function pointer *before* the access check.
How many trans helpers do you wind up with in the end? Perhaps drop TRANS_MSA entirely? r~
[Prev in Thread] | Current Thread | [Next in Thread] |