From: lkcl Date: Mon, 30 Nov 2020 23:39:16 +0000 (+0000) Subject: (no commit message) X-Git-Tag: convert-csv-opcode-to-binary~1575 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b88bd0985d4b5b04a0d6d0c54ab0a23ba7d1d9de;p=libreriscv.git --- diff --git a/openpower/sv/16_bit_compressed.mdwn b/openpower/sv/16_bit_compressed.mdwn index 00723acb3..d3a83636c 100644 --- a/openpower/sv/16_bit_compressed.mdwn +++ b/openpower/sv/16_bit_compressed.mdwn @@ -824,11 +824,14 @@ Pseudocode: At this phase, knowing that the length is 16bit and the mode is either 10b or 16b, further analysis is required to determine if the 16bit.immediate encoding is active, and so on. This is a fully combinatorial block that **at no time** steps outside of the strict bounds already determined by Phase 1. + op_001_1 = insn[5:8] != 0b001.1 if mode == 10bit: decode_10bit(insn) elif mode == 16bit: - if N == 1 & M == 1 & insn[5:8] != 0b001.1 + if N == 1 & M == 1 & op_001_1 decode_16bit_immed_mode(insn) + if op_001_1: + decode_16bit_cr_or_sys(insn) else: # see immediate opcodes table decode_16bit_nonimmed_mode(insn)