Sorry, the previous logic was indeed a bit confusing. I rewrote it,
renaming the third parameter to max_lmul.
If e16 is involved in the function, then vsetvlstatic8 uses max_lmul == m4.
If e32 is involved in the function, then vsetvlstatic8 uses max_lmul == m2.
If e16 is involved in the functio
Le maanantaina 1. heinäkuuta 2024, 19.09.01 EEST flow gg a écrit :
> I reviewed it again, the purpose of is_w is to limit lmul to a maximum of
> 1/4 of vlen,
1/4 of vlen? Do you mean limit to EMUL=1 for EEW=32 and EMUL=1/4 for EEW=8?
Limiting LMUL to less than 1 at maximum EEW is useless from a f
I reviewed it again, the purpose of is_w is to limit lmul to a maximum of
1/4 of vlen, to prevent vector register shortage, which can also be
considered as vset limiting lmul. I renamed it to quarter_len_limit.
t0 is changed to t1.
于2024年7月2日周二 00:07写道:
> From: sunyuechi
>
>
From: sunyuechi
C908 X60
avg_8_2x2_c:1.21.0
avg_8_2x2_rvv_i32 :1.01.0
avg_8_2x4_c:2.02.0
avg_8_2x4_rvv_i
Le maanantaina 1. heinäkuuta 2024, 16.40.29 EEST flow gg a écrit :
> > I am not sure what is_w means or serves here. If you need special cases,
> > this feels a bit out of place for this macro.
>
> It is a special case added to merge the vset of avg and w_avg, how about
> giving it a default value
> I am not sure what is_w means or serves here. If you need special cases,
this
> feels a bit out of place for this macro.
It is a special case added to merge the vset of avg and w_avg, how about
giving it a default value so that it doesn't affect the use of other
functions?
> I am not sure if I
From: sunyuechi
C908 X60
avg_8_2x2_c:1.21.0
avg_8_2x2_rvv_i32 :1.01.0
avg_8_2x4_c:2.02.0
avg_8_2x4_rvv_i