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
prev 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