[Libre-soc-bugs] [Bug 324] create POWER DIV pipeline

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Jun 19 21:55:47 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=324

--- Comment #32 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #31)
> (In reply to Jacob Lifshay from comment #29)
> 
> > That trunc_div function isn't intended to be Power ISA compatible 
> 
> ah then that will be the source of confusion: i was expecting it to
> provide the functionality of... of...
> something-that-i-don't-have-a-name-for...
> 
> > (or
> > POWER9, which is not even what we're implementing -- we're implementing
> > Libre-SOC's first core -- not POWER9, they are different cpus -- please
> > avoid calling the Power ISA "POWER9", they are different things. That's like
> > if AMD called their hypothetical new processor core "Sandy Bridge" or
> > "Pentium", which are widely associated with Intel).
> 
> urrrr... :)  ok then we need to know the exact name.  POWER ISA V3.0B is a
> bit of a handful.  POWER 3.0B?  we've been asked by OpenPOWER Foundation to
> be compatible with that.  short-hand i was referring to it as POWER9.

If I were to pick a replacement name for POWER9 when you meant the Power ISA,
I'd probably just pick Power, since are docs clearly state (or should state)
that we're compatible with Power ISA v3.0B (or v3.1B). We can assume someone
reading our code knows that since that's what we advertise (or at least knows
that they should figure out which version we implement).

> > trunc_div is intended to be the equivalent of python's // operator, except
> > that it rounds differently -- the same way Rust, C, C++, Java, x86, and
> > Power do.
> > 
> > Similarly with trunc_rem.
> 
> ok right: then it's... (POWER 3.0B?) compatible, would that be ok to call it?

I was thinking we'd put it in nmutil, since it's useful for way more than the
instruction simulator. As an example, I wrote a very similar function as part
of ieee754.div_rem_sqrt_rsqrt.algorithm.

if you want something strictly compatible with IBM's POWER9 cpu, then translate
(or create python bindings to) the code in:
https://salsa.debian.org/Kazan-team/power-instruction-analyzer/-/blob/master/src/instr_models.rs

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list