From: liuzhiwei <zhiwei_liu@c-sky.com>
To: Richard Henderson <richard.henderson@linaro.org>,
qemu-devel@nongnu.org, qemu-riscv@nongnu.org
Cc: peter.maydell@linaro.org, palmer@sifive.com,
sagark@eecs.berkeley.edu, kbastian@mail.uni-paderborn.de,
riku.voipio@iki.fi, laurent@vivier.eu, Alistair.Francis@wdc.com,
alex.bennee@linaro.org, aurelien@aurel32.net
Subject: Re: [Qemu-devel] [PATCH] RISCV: support riscv vector extension 0.7.1
Date: Thu, 29 Aug 2019 20:45:29 +0800 [thread overview]
Message-ID: <841ebe5f-dd5e-c59d-d7e9-c246ad7741c0@c-sky.com> (raw)
In-Reply-To: <3b85e9b6-8799-9682-9aaf-b688924cb52e@linaro.org>
On 2019/8/29 上午4:43, Richard Henderson wrote:
> On 8/28/19 11:54 AM, Richard Henderson wrote:
>> But it might be reasonable to include (VSTART == 0 && VL == VLMAX) as a
>> single bit.
> BTW, it is reasonable to check VSTART == 0 always. Quoting the spec:
>
> # Implementations are permitted to raise illegal instruction exceptions
> # when attempting to execute a vector instruction with a value of vstart
> # that the implementation can never produce when executing that same
> # instruction with the same vtype setting.
>
> Since qemu will never interrupt a single instruction, each vector instruction
> will always run to completion, which clears VSTART. Since QEMU will never
> produce a non-zero value of VSTART, it is allowed to trap on any non-zero
> setting of VSTART.
>
> I.e. it can be handled at translation time alongside VILL.
Hi, Richard
I am so sorry for the inconvenience. It is very kind of you to review
the horrible long code and give so many comments.
Even in qemu, it may be some situations that VSTART != 0. For example,
a load instruction leads to a page fault exception in a middle position.
If VSTART == 0, some elements that had been loaded before the exception
will be loaded once again.
Specially, it may be a mistake if the instruction restores execution
with VSTART== 0. When lmul == 1,
"vlb v0 ,(a0), v0.t"
As v0 is the mask register, if it is modified, some part of it can't
be used again.
It will take some time to address the other comments. After that I will
split the patch into patch set with a cover letter in V2.
Thank you again for your review!
Best Regards,
Zhiwei
>
>
> r~
>
next prev parent reply other threads:[~2019-08-29 12:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1566959818-38369-1-git-send-email-zhiwei_liu@c-sky.com>
2019-08-28 9:08 ` [Qemu-devel] [PATCH] RISCV: support riscv vector extension 0.7.1 Alex Bennée
2019-08-28 16:39 ` Richard Henderson
2019-08-29 13:35 ` liuzhiwei
2019-08-28 18:54 ` Richard Henderson
2019-08-28 20:43 ` Richard Henderson
2019-08-29 12:45 ` liuzhiwei [this message]
2019-08-29 15:09 ` Richard Henderson
2019-09-02 7:45 ` liuzhiwei
2019-09-03 14:38 ` Richard Henderson
2019-09-02 9:43 ` liuzhiwei
2019-09-03 14:21 ` Richard Henderson
2019-12-19 9:11 ` LIU Zhiwei
2019-12-19 20:38 ` Richard Henderson
2019-12-25 9:36 ` LIU Zhiwei
2019-12-28 1:14 ` Richard Henderson
2019-12-30 8:11 ` LIU Zhiwei
2020-01-05 20:19 ` Richard Henderson
2019-08-28 21:34 ` Alistair Francis
2019-08-29 12:00 ` liuzhiwei
2019-08-29 15:14 ` Richard Henderson
2019-09-02 6:54 ` liuzhiwei
2019-08-29 21:50 ` Alistair Francis
2019-08-30 9:06 ` Alex Bennée
2019-08-30 18:39 ` Alistair Francis
2019-09-02 6:36 ` liuzhiwei
[not found] ` <CAL1e-=iHangj7w+HgJ+FM=iqRLmaY-_CYeUv0gx+c8bpScb9RQ@mail.gmail.com>
[not found] ` <46ade3da-d642-bd19-7975-7dc228d401e4@c-sky.com>
2019-08-29 18:32 ` Aleksandar Markovic
[not found] ` <CAEiOBXXofjrY2=sjuMDb9dTV2fk9yUVKnr+qmf+7mg9vki6OCw@mail.gmail.com>
2019-09-02 8:17 ` [Qemu-devel] [Qemu-riscv] " liuzhiwei
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=841ebe5f-dd5e-c59d-d7e9-c246ad7741c0@c-sky.com \
--to=zhiwei_liu@c-sky.com \
--cc=Alistair.Francis@wdc.com \
--cc=alex.bennee@linaro.org \
--cc=aurelien@aurel32.net \
--cc=kbastian@mail.uni-paderborn.de \
--cc=laurent@vivier.eu \
--cc=palmer@sifive.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=riku.voipio@iki.fi \
--cc=sagark@eecs.berkeley.edu \
/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).