[Libre-soc-dev] v3.1B prefix

Luke Kenneth Casson Leighton lkcl at lkcl.net
Mon Dec 21 01:09:30 GMT 2020


---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

On Mon, Dec 21, 2020 at 12:56 AM Alexandre Oliva <oliva at gnu.org> wrote:

> -  6 bits for the opcode
> - 16 bits for the compressed insn
> - 10 bits corresponding to 10 subsequent insns, to tell whether each of
>      them is compressed

interesting!  i like it.  this gives at least 1 bit free.  if we
assume a (total) redesign which also frees up the 2nd bit (N as well
as M), then that means 2 bits.  at that point it is not unreasonable
to say "ok, cregs3 is now 16 entries because the reg #s are 4 bits not
3".

how does that stack up, based on this histogram of reg statistics:

  4204 r7
  4375 r12
  4391 r26
  5595 r27
  5678 r5
  7359 r28
  8891 r8
 10323 r29
 12263 r4
 14321 r30
 17997 r10
 20873 r31
 33811 r3
 41322 r2
 46139 r1
 46621 r9
 55864 r0


> Compressed/original ratio: 0.933947

are you *sure* that's right?  when i changed this line - and that's
without making any other changes to comp16-v1-skel.py - i got 90%:

#cregs3 = { 0, 31, 1, 2, 3, 4, 5, 6, 7 }
cregs3 = { 0, 9, 3, 1, 2, 31, 10, 30, 4 }


> This Sunday, I plan to go over the svp64 encoding.

star.  this is, as you've probably noticed, a high priority (critical path).

l.



More information about the Libre-soc-dev mailing list