On 1/8/2026 10:26 AM, Max Chou wrote:
> Replace the same vill reset flow by reset_ill_vtype function.
>
> Signed-off-by: Max Chou <max.chou@sifive.com>
> ---
Reviewed-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
> target/riscv/vector_helper.c | 21 +++++++++++----------
> 1 file changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
> index 525a47bf66..c7b9d6b467 100644
> --- a/target/riscv/vector_helper.c
> +++ b/target/riscv/vector_helper.c
> @@ -49,6 +49,15 @@ static target_ulong vtype_reserved(CPURISCVState *env, target_ulong vtype)
> return reserved;
> }
>
> +static inline void reset_ill_vtype(CPURISCVState *env)
> +{
> + /* only set vill bit. */
> + env->vill = 1;
> + env->vtype = 0;
> + env->vl = 0;
> + env->vstart = 0;
> +}
> +
> target_ulong HELPER(vsetvl)(CPURISCVState *env, target_ulong s1,
> target_ulong s2, target_ulong x0)
> {
> @@ -83,11 +92,7 @@ target_ulong HELPER(vsetvl)(CPURISCVState *env, target_ulong s1,
> }
>
> if ((sew > cpu->cfg.elen) || vill || (vtype_reserved(env, s2) != 0)) {
> - /* only set vill bit. */
> - env->vill = 1;
> - env->vtype = 0;
> - env->vl = 0;
> - env->vstart = 0;
> + reset_ill_vtype(env);
> return 0;
> }
>
> @@ -103,11 +108,7 @@ target_ulong HELPER(vsetvl)(CPURISCVState *env, target_ulong s1,
> }
>
> if (cpu->cfg.rvv_vsetvl_x0_vill && x0 && (env->vl != vl)) {
> - /* only set vill bit. */
> - env->vill = 1;
> - env->vtype = 0;
> - env->vl = 0;
> - env->vstart = 0;
> + reset_ill_vtype(env);
> return 0;
> }
>