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

Jacob Lifshay programmerjake at gmail.com
Fri Dec 4 02:16:54 GMT 2020

On Thu, Dec 3, 2020 at 5:11 PM Luke Kenneth Casson Leighton
<lkcl at lkcl.net> wrote:
> i cannot refer to something by an unambiguous name when it's complete
> shite :)  sorry IBM engineers, but it's all nonsense unless it has
> something other than terse descriptions.  we know this because we end
> up doing it too :)

A lot of the names may be confusing, but "primary opcode" is much less
so (especially compared to BHRBE), since it refers to a particular
instruction field and is aptly named.

> ok i think i got it.  prefix bits 6-11 are the "deciders" that qualify
> the other 32 bits.  so.  taking up the bottom corner(s) of table 12,
> "Reserved" space, this makes... 4 bits out of the 6 bits of prefix
> bits 6:11 available for use by SV prefix.

Yeah, more or less.

The specification defines 2 groups of 64-bit instructions: those that
are completely new instructions (forms 8LS, 8RR) and those that prefix
existing 32-bit instructions (forms MLS, MRR, and MMIRR -- notice the
M for modified). Table 11 is the suffix primary opcode for the class
of completely new instructions, since the class of prefixed existing
32-bit instructions just uses the standard table of 32-bit
instructions for the suffix -- Table 10.

I created a 3rd group, SVP64 instructions, and allocated it from the
free space in table 12. The section I chose is specifically chosen to
be less likely to be needed since I chose it from the sections that
have the most free space.

> gaah ok got it.
> which leaves the allocation issue.  there are currently 19 of the
> available 6:11 bits taken up by v3.1B.  that means that 16 more is a
> whopping *thirty six percent* of space taken up,

Umm, by my calculation it uses 16 out of 64 which comes to exactly 25%.

> when IBM may have
> been expecting maybe to allocate... what... an average of 2 per year
> for the next 30 years?

Well, considering they allocated more than 25% already in just the
first version, maybe not.


More information about the Libre-soc-dev mailing list