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~

Reply via email to