[Libre-soc-isa] [Bug 650] write rfc for OpenPower fpr <-> gpr moves/conversions

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Jun 3 22:20:40 BST 2021


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

--- Comment #14 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #12)
> (In reply to Luke Kenneth Casson Leighton from comment #11)
> > (In reply to Jacob Lifshay from comment #10)
> > > fix formatting: luke you had mistakenly unindented the list of reasons to
> > > have each FP -> Int conversion mode, I reindented those so they are
> > > correctly grouped under the appropriate list entry.
> > 
> > hmm, i did that because it wasn't clear, because of the spaces in between.
> 
> Well, it's perfectly clear to me in the rendered markdown (which is the part
> we should care about). The blank lines are just so it doesn't get all
> crammed onto one line when rendered.
> 
> > this would indicate that some descriptive text or headings, or other
> > reorganisation might be in order.
> >  
> > > Also:
> > > commit bb9a2dcc50b656e07accaf1036edb3607ea82f6c (HEAD -> master,
> > > origin/master, origin/HEAD)
> > > Author: Jacob Lifshay <programmerjake at gmail.com>
> > > Date:   Thu Jun 3 10:58:53 2021 -0700
> > > 
> > >     bitwise moves never set exceptions or mess with FPSCR
> > 
> > are we absolutely certain of that?
> 
> Yes. It seems obvious to me, since it's just a bitwise copy (like fmv). FP
> exceptions and FPSCR only affect things where actual
> arithmetic/comparison/etc. operations are performed.
> 
> > because if so it needs to be explicitly
> > stated, rather than leaving it "unstated".
> 
> Go ahead and add that if you like.
> > 
> > otherwise people will ask during the review.
> 
> Ok, though I'd guess they probably won't, since it's just a bitwise move.

ohh, they'll ask. specifications are... excruciating.  all possible
ambiguities or potential questions have to be explicitly answered,
leaving no possibility that people *might* misunderstand or, because
it's not spelled out, do exactly what they are not supposed to do but
*you* thought it wasn't "necessary" to prohibit.

sigh

> 
> > something like:
> > 
> > "this bitwise move does not raise exceptions nor alter FPSCR or other status
> > flags"

(In reply to Jacob Lifshay from comment #13)

> I added the code needed to emulate Rust and JavaScript conversion semantics

brilliant, that helps enormously. 
https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=b67fe6025a25da9d467213444f623d4f8f6d4abd

EEK!  that's AWFUL!  and that's replaceable by ONE instruction?
holy cow.  i'm adding the c++ code as well, that should really
hit home.

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


More information about the Libre-SOC-ISA mailing list