From: Weiwei Li <liweiwei@iscas.ac.cn>
To: eop Chen <eop.chen@sifive.com>,
qemu-devel@nongnu.org, qemu-riscv@nongnu.org
Subject: Re: [PATCH qemu 1/9] target/riscv: rvv: Add mask agnostic for vv instructions
Date: Wed, 27 Apr 2022 11:27:07 +0800 [thread overview]
Message-ID: <50622e83-c871-e2c6-e4fb-61932dfa3850@iscas.ac.cn> (raw)
In-Reply-To: <C82F9B91-0345-43EA-BC03-8812DCAAD9D9@sifive.com>
[-- Attachment #1: Type: text/plain, Size: 2970 bytes --]
在 2022/4/27 上午10:07, eop Chen 写道:
>
>
>>
>> 在 2022/4/27 上午2:20, eop Chen 写道:
>>>
>>>> Weiwei Li <liweiwei@iscas.ac.cn <mailto:liweiwei@iscas.ac.cn>> 於
>>>> 2022年4月26日 下午4:47 寫道:
>>>> 在 2022/3/17 下午3:26, ~eopxd 写道:
>>>>> From: Yueh-Ting (eop) Chen<eop.chen@sifive.com>
>>>>>
>>>>> This is the first commit regarding the mask agnostic behavior.
>>>>> Added option 'rvv_ma_all_1s' to enable the behavior, the option
>>>>> is default to false.
>>>>>
>>>>> Signed-off-by: eop Chen<eop.chen@sifive.com>
>>>>> Reviewed-by: Frank Chang<frank.chang@sifive.com>
>>>>
>>>> Similar to our last discussion, vext_set_elems_1s_fns array can be
>>>> simplified to single vext_set_elems_1s,
>>>>
>>>> since the fourth argement can be used as the start offset.
>>>>
>>>> Another question, may be not related to this patchset, in section
>>>> 3.4.3 of the spec:
>>>>
>>>> /"Mask destination tail elements are always treated as
>>>> tail-agnostic, regardless of the setting of vta."/
>>>>
>>>> What does "Mask destination tail elements" mean?
>>>>
>>>> Regards,
>>>>
>>>> Weiwei Li
>>>>
>>>
>>> I have just updated a new version for the tail agnostic patch set,
>>> it also includes a bug fix discovered today.
>>>
>>> Regarding the question, mask / masked-off are for body elements and
>>> respects the mask policy, and tail elements respect the tail policy.
>>>
>>> Regards,
>>>
>>> eop Chen
>>
>> I find another descriptions in the spec. For the instructions that
>> write mask register (such as vmadc, vmseq,vmsne,vmfeq...), they all
>> have similar description
>>
>> (You can search "tail-agnostic" in the spec):
>>
>> /Section 11.4: "Because these instructions produce a mask value, they
>> always operate with a tail-agnostic policy"//
>> /
>>
>> /Section 11.8/13.13: "Compares //write mask registers, and so always
>> operate under a tail-agnostic policy"//
>> /
>>
>> /Section 15.1: "Mask elements past vl, the tail elements, are always
>> updated with a tail-agnostic policy"//
>> /
>>
>> //
>>
>> /Section 15.4/15.5/15.6: "The tail elements in the destination mask
>> register are updated under a tail-agnostic policy"/
>>
>> So I think "Mask destination tail elements" may means the tail
>> element for instructions that take mask register as destination
>> register. For these instructions,
>>
>> maybe the setting of VTA can be ignored.
>>
>> Regards,
>>
>> Weiwei Li
>>
>
> Yes, the setting of VTA should be ignored when v-spec specifies.
> I think the implementation of the tail agnostic patch set don’t need
> to change on this.
Sorry. I don't get your idea?
In current patch, these instructions seems need to set the tail elements
to 1s when vta is true which means
VTA is setted and rvv_ta_all_1s is enabled. If setting of VTA should be
ignored for these instrucitons,
they will set the tail elements to 1s only when rvv_ta_all_1s is enabled.
Regards,
Weiwei Li
>
> Regards,
>
> eop Chen
>
>
>
[-- Attachment #2: Type: text/html, Size: 7576 bytes --]
next prev parent reply other threads:[~2022-04-27 3:28 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-25 14:18 [PATCH qemu 0/9] Add mask agnostic behavior for rvv instructions ~eopxd
2022-03-17 7:26 ` [PATCH qemu 1/9] target/riscv: rvv: Add mask agnostic for vv instructions ~eopxd
2022-04-26 8:47 ` Weiwei Li
2022-04-26 18:20 ` eop Chen
2022-04-27 1:01 ` Weiwei Li
2022-04-27 2:07 ` eop Chen
2022-04-27 3:27 ` Weiwei Li [this message]
2022-04-27 3:43 ` eop Chen
2022-03-17 7:47 ` [PATCH qemu 2/9] target/riscv: rvv: Add mask agnostic for vector load / store instructions ~eopxd
2022-03-17 8:38 ` [PATCH qemu 3/9] target/riscv: rvv: Add mask agnostic for vx instructions ~eopxd
2022-03-17 8:43 ` [PATCH qemu 4/9] target/riscv: rvv: Add mask agnostic for vector integer shift instructions ~eopxd
2022-03-17 8:46 ` [PATCH qemu 5/9] target/riscv: rvv: Add mask agnostic for vector integer comparison instructions ~eopxd
2022-03-17 8:52 ` [PATCH qemu 6/9] target/riscv: rvv: Add mask agnostic for vector fix-point arithmetic instructions ~eopxd
2022-03-17 9:08 ` [PATCH qemu 7/9] target/riscv: rvv: Add mask agnostic for vector floating-point instructions ~eopxd
2022-03-17 9:14 ` [PATCH qemu 8/9] target/riscv: rvv: Add mask agnostic for vector mask instructions ~eopxd
2022-03-17 9:32 ` [PATCH qemu 9/9] target/riscv: rvv: Add mask agnostic for vector permutation instructions ~eopxd
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=50622e83-c871-e2c6-e4fb-61932dfa3850@iscas.ac.cn \
--to=liweiwei@iscas.ac.cn \
--cc=eop.chen@sifive.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.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
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).