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~