On 8/3/25 22:31, Paolo Bonzini wrote:
On 8/3/25 03:40, Richard Henderson wrote:
+static bool do_cb_cond(DisasContext *s, int cc, int imm,
+ int rt, int rm, MemOp mop)
This is a memop...
+static bool trans_CB_cond(DisasContext *s, arg_CB_cond *a)
+{
+ return do_cb_cond(s, a->cc, a->imm, a->rt, a->rm, a->sf ? 64 : 32);
+}
+
+static bool trans_CBB_cond(DisasContext *s, arg_CBB_cond *a)
+{
+ return do_cb_cond(s, a->cc, a->imm, a->rt, a->rm, 8);
+}
... but these use bits
+static bool trans_CBH_cond(DisasContext *s, arg_CBH_cond *a)
+{
+ return do_cb_cond(s, a->cc, a->imm, 16, a->rt, a->rm);
+}
+
... and this one also has arguments in the wrong order.
Gah. Thanks. I've reorganized the code to avoid this entirely.
Now to fix a gcc crash when emitting code for cmpbr... :-)
r~