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