On 10/27/21 11:07 AM, Philippe Mathieu-Daudé wrote:
+static bool trans_msa_bit(DisasContext *ctx, arg_msa_bit *a,
+ gen_helper_piiii *gen_msa_bit)
{
+ if (a->df < 0) {
+ return false;
}
This test should happen before the msa check...
+ gen_msa_bit(cpu_env,
+ tcg_constant_i32(a->df),
+ tcg_constant_i32(a->wd),
+ tcg_constant_i32(a->ws),
+ tcg_constant_i32(a->m));
+ return true;
}
+TRANS_MSA(SLLI, trans_msa_bit, gen_helper_msa_slli_df);
... currently being hidden in here.
This is the reason why I suggest TRANS_MSA be dispensed with. You won't have over-many
explicit trans_* functions in which you need to place the msa check, I think.
r~