|
|
|
@ -662,6 +662,9 @@ reg_t processor_t::throw_instruction_address_misaligned(reg_t pc) |
|
|
|
|
|
|
|
insn_func_t processor_t::decode_insn(insn_t insn) |
|
|
|
{ |
|
|
|
if (!extension_enabled(EXT_ZCA) && insn_length(insn.bits()) % 4) |
|
|
|
return &::illegal_instruction; |
|
|
|
|
|
|
|
// look up opcode in hash table
|
|
|
|
size_t idx = insn.bits() % OPCODE_CACHE_SIZE; |
|
|
|
auto [hit, desc] = opcode_cache[idx].lookup(insn.bits()); |
|
|
|
|