6 #include "platform.h" // softfloat isNaNF32UI, etc.
7 #include "internals.h" // ditto
9 #define DECLARE_INSN(name, opcode, mask) \
10 const uint32_t MATCH_ ## name = opcode; \
11 const uint32_t MASK_ ## name = mask;
15 reg_t
processor_t::FUNC (insn_t insn
, reg_t pc
)
17 #define MASK (~(DISPATCH_TABLE_SIZE-1) & OPCODE_MASK)
18 #define MATCH (~(DISPATCH_TABLE_SIZE-1) & OPCODE_MATCH)
19 if(unlikely((insn
.bits
& MASK
) != MATCH
))
20 throw trap_illegal_instruction
;
22 reg_t npc
= pc
+ insn_length(OPCODE_MATCH
);