Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
From: bugzilla-daemon@libre-riscv.org
To: libre-riscv-dev@lists.libre-riscv.org
Subject: [libre-riscv-dev] [Bug 269] auto-conversion / parser of POWER ISA Spec v3.0B
Date: Sat, 04 Apr 2020 20:37:05 +0000
Message-ID: <bug-269-13-o5O6UBSlcS@http.bugs.libre-riscv.org/> (raw)
In-Reply-To: <bug-269-13@http.bugs.libre-riscv.org/>

http://bugs.libre-riscv.org/show_bug.cgi?id=269

--- Comment #21 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
(In reply to Michael Nolan from comment #20)
> (In reply to Luke Kenneth Casson Leighton from comment #16)
> 
> > * as you saw in the bug #272 there's a problem with EXTS, which alerted
> >   me to adding the syntax (RA|0)
> 
> If we're sure that power_decoder2 is correct, then all of the EXTS(...) and
> EXTZ(...) cases can be replaced with pdecode2.e.imm_data, because the
> decoder already handles sign/zero extending immediates.

mmm... yyeeees... except... that means modifying the pseudo-code which
comes directly from the spec.

this has two implications:

1) it's not a (strict) verification of the spec
2) as you point out, we'd be using something that we're not sure is correct

the more "direct", the better.

i'm not happy at the deviations from the spec that have had to be made!
the rather terrible solution is to have EXTZ and EXTS set the SelectableInt
bitlength to (say) 1,000,000 then use that to detect that when you get this:

   x + EXTS(d)

it means that in the addition, the rhs takes the bit-length of x.

okok we can't do 1,000,000 bits because in EXTS that would be a 1,000,000 bit
signed integer.  maybe... 256 bits or something.

i will modify SelectableInt so it is:

    def __add__(self, rhs):
          if rhs.bits == 256:
               rhs = SelectableInt(rhs.value, self.bits)

that will "do" as a workaround.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

  parent reply index

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-28 11:12 [libre-riscv-dev] [Bug 269] New: " bugzilla-daemon
2020-03-28 17:35 ` [libre-riscv-dev] [Bug 269] " bugzilla-daemon
2020-03-30 15:16 ` bugzilla-daemon
2020-03-31 13:21 ` bugzilla-daemon
2020-04-01 13:42 ` bugzilla-daemon
2020-04-01 13:48 ` bugzilla-daemon
2020-04-02 15:06 ` bugzilla-daemon
2020-04-03 18:37 ` bugzilla-daemon
2020-04-03 18:45 ` bugzilla-daemon
2020-04-03 19:11 ` bugzilla-daemon
2020-04-03 19:45 ` bugzilla-daemon
2020-04-03 20:34 ` bugzilla-daemon
2020-04-03 20:55 ` bugzilla-daemon
2020-04-03 21:41 ` bugzilla-daemon
2020-04-03 22:55 ` bugzilla-daemon
2020-04-04  3:04 ` bugzilla-daemon
2020-04-04 16:45 ` bugzilla-daemon
2020-04-04 19:27 ` bugzilla-daemon
2020-04-04 19:38 ` bugzilla-daemon
2020-04-04 19:39 ` bugzilla-daemon
2020-04-04 20:28 ` bugzilla-daemon
2020-04-04 20:37 ` bugzilla-daemon [this message]
2020-04-04 20:39 ` bugzilla-daemon
2020-04-04 20:46 ` bugzilla-daemon
2020-04-04 21:36 ` bugzilla-daemon
2020-04-04 22:25 ` bugzilla-daemon
2020-04-05  4:28 ` bugzilla-daemon
2020-04-05 18:23 ` bugzilla-daemon
2020-04-05 18:55 ` bugzilla-daemon
2020-04-05 19:05 ` bugzilla-daemon
2020-04-05 19:52 ` bugzilla-daemon
2020-04-05 20:03 ` bugzilla-daemon
2020-04-05 23:27 ` bugzilla-daemon
2020-04-06  2:28 ` bugzilla-daemon
2020-04-06  2:35 ` bugzilla-daemon
2020-04-06  2:39 ` bugzilla-daemon
2020-04-06  3:07 ` bugzilla-daemon
2020-04-06 10:29 ` bugzilla-daemon
2020-04-06 11:18 ` bugzilla-daemon
2020-04-07  0:16 ` bugzilla-daemon
     [not found] <bug-269-13@https.bugs.libre-soc.org/>
2020-04-07 15:55 ` bugzilla-daemon
2020-04-07 16:57 ` bugzilla-daemon
2020-04-27 20:26 ` bugzilla-daemon
2020-04-27 20:28 ` bugzilla-daemon
2020-04-27 20:29 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-269-13-o5O6UBSlcS@http.bugs.libre-riscv.org/ \
    --to=bugzilla-daemon@libre-riscv.org \
    --cc=libre-riscv-dev@lists.libre-riscv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Libre RISC-V Mailing list Archives (accessible via public-inbox)

Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev

Example config snippet for mirrors


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git