[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 12/22] target/arm: default SVE length to 64 bytes for linu
From: |
Richard Henderson |
Subject: |
Re: [PATCH v6 12/22] target/arm: default SVE length to 64 bytes for linux-user |
Date: |
Thu, 6 Feb 2020 11:19:12 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 2/5/20 5:10 PM, Alex Bennée wrote:
> - /* with maximum vector length */
> + /* with reasonable vector length */
> env->vfp.zcr_el[1] = cpu_isar_feature(aa64_sve, cpu) ?
> - cpu->sve_max_vq - 1 : 0;
> + MIN(cpu->sve_max_vq - 1, 3) : 0;
> env->vfp.zcr_el[2] = env->vfp.zcr_el[1];
> env->vfp.zcr_el[3] = env->vfp.zcr_el[1];
Let's reorg this to
if (cpu_isar_feature(aa64_sve, cpu)) {
env->vfp.zcr_el[1] = MIN(cpu->sve_max_vq - 1, 3);
env->vfp.zcr_el[2] = cpu->sve_max_vq - 1;
env->vfp.zcr_el[3] = cpu->sve_max_vq - 1;
}
Using the MIN setting on el2 and el3 was wrong, as it meant that we could *not*
increase the setting later with PR_SVE_SET_VL, at least not without changes to
linux-user...
r~