comp16-v1-skel: first cut at the logic for attempt 1 encoding, untested
[libreriscv.git] / lxo / ChangeLog
1 2020-11-28
2
3 * 532: Figured out and implemented the logic to infer mode
4 switching for best compression under attempt 1 proposed encoding,
5 namely with 10-bit insns, 16-bit insns, 16+16-bit insns, and
6 32-bit insns. 10-bit insns appear in uncompressed mode, and can
7 be followed by insns in either mode; 16-bit ones appear in
8 compressed mode, and can remain in compressed mode, or switch to
9 uncomprssed mode for 1 insn or for good; 16+16-bit ones appear in
10 compressed mode, and cannot switch modes; 32-bit ones appear only
11 in uncompressed mode, or in the single-insn slot after a 16-bit
12 that requests it. If we find a 16-bit insn while we're in
13 uncompressed mode, use a 10-bit nop to tentatively switch. Insns
14 that can be encoded in 10-bits, but appear in compressed mode, had
15 better be encoded in 16-bits, for that offers further subsequent
16 encoding options, without downsides for size estimation. Insns
17 that can be encoded as 16+16-bit decay to 32-bit if in
18 uncompressed mode, or if, after a sequence thereof, a later insn
19 forces a switch to 32-bit mode without an intervening switching
20 insn. Still missing: the code to select what insns can be encoded
21 in what modes. (6:42)
22
23 * 532: Implemented a skeleton for compression ratio estimation,
24 initially with the simpler mode switching of the 8-bit nop,
25 odd-address 16-bit insns. Next, rewrite it for all the complexity
26 of mode switching envisioned for the "attempt 1" proposal. (2:02)
27
28 2020-11-23
29
30 * 238: Debating various possibilities of 16-bit encoding. (5:20)
31
32 * 532: Wrote a histogram python script, that breaks counts down
33 per opcode, and within them, by operands. (2:05)
34
35 2020-11-22
36
37 * 529: Brought up the possibilities of using 8-bit nops to switch
38 between modes, so that 16-bit insns would be at odd addresses, so
39 that we could use the full 16-bits; of using 2-operand insns
40 instead of 3- for 16-bit mode so as to increase the coverage of
41 the compact encoding.
42 * 238: Luke moved the comment above here, where it belonged.
43 * 529: Elaborated how using actual odd-addresses for 16-bit insns
44 would be dealt with WRT endianness. Prompted by luke, added it to
45 the wiki.
46 * Wiki: Added self to team. (11:50)
47
48 2020-11-21
49
50 * 532: Wrote patch for binutils to print insn histogram.
51 * Mission: Restated the proposal of adding "and users" to the
52 mission statement, next to customers, as those we wish to enable
53 to trust our products. (6:48)
54
55 2020-11-20
56
57 Reposted join message to the correct list.
58 * 238: Started looking into it, from
59 https://libre-soc.org/openpower/sv/16_bit_compressed/
60
61 2020-11-19
62
63 Joined.