diff options
Diffstat (limited to 'include/opcode/riscv.h')
-rw-r--r-- | include/opcode/riscv.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h index dd2569f..9417dcf 100644 --- a/include/opcode/riscv.h +++ b/include/opcode/riscv.h @@ -37,6 +37,9 @@ static inline unsigned int riscv_insn_length (insn_t insn) return 6; if ((insn & 0x7f) == 0x3f) /* 64-bit instructions. */ return 8; + /* 80- ... 176-bit instructions. */ + if ((insn & 0x7f) == 0x7f && (insn & 0x7000) != 0x7000) + return 10 + ((insn >> 11) & 0xe); /* Longer instructions not supported at the moment. */ return 2; } |