> Weiwei Li <liwei...@iscas.ac.cn> 於 2022年4月27日 上午11:27 寫道:
> 
> 
> 
> 在 2022/4/27 上午10:07, eop Chen 写道:
>> 
>> 
>>> 
>>> 在 2022/4/27 上午2:20, eop Chen 写道:
>>>> 
>>>>> Weiwei Li <liwei...@iscas.ac.cn <mailto:liwei...@iscas.ac.cn>> 於 
>>>>> 2022年4月26日 下午4:47 寫道:
>>>>> 在 2022/3/17 下午3:26, ~eopxd 写道:
>>>>>> From: Yueh-Ting (eop) Chen <eop.c...@sifive.com> 
>>>>>> <mailto:eop.c...@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.c...@sifive.com> 
>>>>>> <mailto:eop.c...@sifive.com>
>>>>>> Reviewed-by: Frank Chang <frank.ch...@sifive.com> 
>>>>>> <mailto:frank.ch...@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
>> 
>> 
>> 

I see your point now. Yes the implementation should be changed.
Let me submit a new version for this.

Regards,

eop Chen


Reply via email to