On 9/6/22 13:22, Christoph Muellner wrote:
@@ -732,6 +733,7 @@ static int ex_rvc_shifti(DisasContext *ctx, int imm)
  #include "decode-xtheadbs.c.inc"
  #include "decode-xtheadcmo.c.inc"
  #include "decode-xtheadcondmov.c.inc"
+#include "decode-xtheadfmemidx.c.inc"
  #include "decode-xtheadmac.c.inc"
  #include "decode-xtheadmemidx.c.inc"
  #include "decode-xtheadmempair.c.inc"
@@ -1061,6 +1063,7 @@ static void decode_opc(CPURISCVState *env, DisasContext 
*ctx, uint16_t opcode)
          { has_xtheadbs_p, decode_xtheadbs },
          { has_xtheadcmo_p, decode_xtheadcmo },
          { has_xtheadcondmov_p, decode_xtheadcondmov },
+        { has_xtheadfmemidx_p, decode_xtheadfmemidx },
          { has_xtheadmac_p, decode_xtheadmac },
          { has_xtheadmemidx_p, decode_xtheadmemidx },
          { has_xtheadmempair_p, decode_xtheadmempair },

I think you should have a single decoder for all of the xthread extensions, and each translate function should test for the individual extension. You know up-front that these extensions do not conflict.


r~

Reply via email to