{
int xlen = ISASZ;
reg_t npc = sext_xlen(pc + insn_length(INSNCODE));
+ // messy way to do it: insn_t is used elsewhere in a union,
+ // so a workaround is to grab the bits from the insn_t
+ // and create an sv-variant. also an opportunity to pass
+ // in the loop index (voffs) which will be added on to
+ // any registers that are marked as "vectorised"
insn_bits_t bits = s_insn.bits();
+#ifndef USING_NOREGS
int voffs = 0;
+ int vlen = 1;
sv_insn_t insn(bits, voffs);
+ bool vectorop = false;
+ for (; voffs < vlen; voffs++)
+ {
+ #include INCLUDEFILE
+ }
+#else
+ insn_t insn(bits);
#include INCLUDEFILE
- trace_opcode(p, INSNCODE, s_insn);
+#endif
+ trace_opcode(p, INSNCODE, insn);
return npc;
}