On 5/18/21 7:24 AM, Peter Maydell wrote:
-    case 0x0f: /* SUDOT, USDOT */
-        gen_gvec_op4_ool(s, is_q, rd, rn, rm, rd, index,
-                         extract32(insn, 23, 1)
-                         ? gen_helper_gvec_usdot_idx_b
-                         : gen_helper_gvec_sudot_idx_b);
-        return;
-
+    case 0x0f:
+        switch (extract32(insn, 22, 2)) {

You already have bits [23:22] in 'size' at this point, I think.

Irritatingly not. For 0xf [23:22] is opcode, and size has been squashed to MO_32 in order to get the indexing correct in the middle of this function. It's just outside the patch context here. Later it will be moved inside a switch for BFMLAL.

One of the many ways in which decodetree would be better here.


r~

Reply via email to