From: Richard Henderson <richard.henderson@linaro.org>
To: "Frédéric Pétrot" <frederic.petrot@univ-grenoble-alpes.fr>,
qemu-devel@nongnu.org, qemu-riscv@nongnu.org,
liuzhiwei <zhiwei_liu@c-sky.com>
Cc: philmd@redhat.com, bin.meng@windriver.com, palmer@dabbelt.com,
fabien.portas@grenoble-inp.org, alistair.francis@wdc.com,
alex.bennee@linaro.org
Subject: Re: [PATCH 0/8] RISC V partial support for 128-bit architecture
Date: Mon, 30 Aug 2021 22:09:56 -0700 [thread overview]
Message-ID: <cca8020d-2cce-0978-9f67-9c71a1345b36@linaro.org> (raw)
In-Reply-To: <20210830171620.126296-1-frederic.petrot@univ-grenoble-alpes.fr>
On 8/30/21 10:16 AM, Frédéric Pétrot wrote:
> This series of patches aims at adding partial 128-bit support to the riscv
> target, following the (unratified) RV128I specification, Chapter 7 of
> riscv-spec document dated 20191214.
> It provides support for all user integer (I) instructions and for an M
> extension which follows the definition of the 32 and 64-bit specifications.
So... I think that this patch set ought to coordinate with the patches to support UXL.
Both this and UXL require adjustments to almost every operation, both widening and
narrowing the effects of the operation.
I think that we're going to need to adjust the primary helpers.
E.g. the current
static bool gen_arith(DisasContext *ctx, arg_r *a,
void (*func)(TCGv, TCGv, TCGv))
which supports only one implementation, is going to need to expand to
static bool gen_arith(DisasContext *ctx, arg_r *a,
void (*fn32)(TCGv, TCGv, TCGv),
void (*fn64)(TCGv, TCGv, TCGv),
void (*fn128)(TCGv, TCGv, TCGv
TCGv, TCGv, TCGv))
with the is_32bit, is_128bit check done inside the helper. Similarly with gen_unary, and
possibly gen_shift.
Sometimes the fn32 and fn64 operand will be the same, e.g. add, where the 32-bit to 64-bit
sign-extension is done during the writeback. But sometimes, e.g. mulhu, we will need
separate implementations for each.
We should rename the current helper, with one operand, gen_logical, indicating it is clear
that the operation is bitwise and one tcg function covers all widths.
r~
prev parent reply other threads:[~2021-08-31 5:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-30 17:16 [PATCH 0/8] RISC V partial support for 128-bit architecture Frédéric Pétrot
2021-08-31 3:15 ` Alistair Francis
2021-08-31 17:25 ` Frédéric Pétrot
2021-08-31 5:09 ` Richard Henderson [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=cca8020d-2cce-0978-9f67-9c71a1345b36@linaro.org \
--to=richard.henderson@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=alistair.francis@wdc.com \
--cc=bin.meng@windriver.com \
--cc=fabien.portas@grenoble-inp.org \
--cc=frederic.petrot@univ-grenoble-alpes.fr \
--cc=palmer@dabbelt.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=zhiwei_liu@c-sky.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).