Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
Subject: Re: [libre-riscv-dev] more compatible alternative to BE instructions on LE processor
Date: Wed, 13 May 2020 09:17:20 +0100
Message-ID: <CAPweEDyxRMrmVTs9Te1Cki1XGN1dfYBMFiuPME5XyiEdUwQuhA@mail.gmail.com> (raw)
In-Reply-To: <CAC2bXD4xp7+4qWk1Frg4mW+ukuLPBs0=2wCB=ZCz4=pWeV46Gw@mail.gmail.com>

On Wed, May 13, 2020 at 3:57 AM Jacob Lifshay <programmerjake@gmail.com> wrote:

> PC value -> memory address
> 0x1000 -> 0x1003
> 0x1001 -> 0x1002
> 0x1002 -> 0x1001
> 0x1003 -> 0x1000

NNxx -> NN(3-xx)

> Since all currently existing Power instructions are a multiple of 32 bits,
> this wouldn't change how they are decoded or executed, however, would
> change how new 16 or 48-bit instructions are laid out.
>
> If the processor is switched to BE mode (for both instructions and data),
> this address reordering would be disabled, since BE mode already has the
> opcode byte as the first byte anyway.
>
> (PDP endian resurrected -- sort of)

:)

ok it's effectively "BE instruction order" as separate from "BE data
order".  it's reordering the instruction memory area in a fixed
(non-dynamic) way.

i have a sneaking suspicion jacob that SVP-48 and C (16) will not
interact well with that.  it'll need thinking through, what happens
when there are:

* two C (16) instructions in sequence starting on a 32-bit boundary
* one C (16) instruction followed by a SVP-48, the C (16-bit) starting
on a 32-bit boundary
* a SVP-48 (starting on a 32-bit boundary) followed by a C (16-bit)
* two SVP-48 instructions (starting on a 32-bit boundary)

also necessary to consider how to ensure that "padding" back to 32-bit
boundaries is not misinterpreted as garbage instructions, usually this
by having a 16-bit "NOP" (C) encoding

l.

_______________________________________________
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: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-13  2:56 Jacob Lifshay
2020-05-13  6:29 ` Lauri Kasanen
2020-05-13  8:09   ` Luke Kenneth Casson Leighton
2020-05-13  8:17 ` Luke Kenneth Casson Leighton [this message]

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=CAPweEDyxRMrmVTs9Te1Cki1XGN1dfYBMFiuPME5XyiEdUwQuhA@mail.gmail.com \
    --to=lkcl@lkcl.net \
    --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