[Mesa-dev] [PATCH] gallivm: allow arch rounding with avx512

Rowley, Timothy O timothy.o.rowley at intel.com
Wed Nov 1 20:08:31 UTC 2017


I agree that we’re probably dropping into fallback paths in a variety of locations as there are a number of width==256 tests in the gallivm code.  Right now I’m working through piglit regressions versus avx2 in our driver, and the rounding tests weren't passing.

Thanks.

> On Nov 1, 2017, at 2:27 PM, Roland Scheidegger <sroland at vmware.com> wrote:
> 
> Looks good to me.
> Albeit I think there's quite a few more places which probably should
> handle avx512...
> 
> Reviewed-by: Roland Scheidegger <sroland at vmware.com>
> 
> Am 01.11.2017 um 20:17 schrieb Tim Rowley:
>> Fixes piglit vs-roundeven-{float,vec[234]} with simd16 VS.
>> ---
>> src/gallium/auxiliary/gallivm/lp_bld_arit.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
>> index cf1958b3b6..a1edd349f1 100644
>> --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
>> +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
>> @@ -1953,7 +1953,8 @@ arch_rounding_available(const struct lp_type type)
>> {
>>    if ((util_cpu_caps.has_sse4_1 &&
>>        (type.length == 1 || type.width*type.length == 128)) ||
>> -       (util_cpu_caps.has_avx && type.width*type.length == 256))
>> +       (util_cpu_caps.has_avx && type.width*type.length == 256) ||
>> +       (util_cpu_caps.has_avx512f && type.width*type.length == 512))
>>       return TRUE;
>>    else if ((util_cpu_caps.has_altivec &&
>>             (type.width == 32 && type.length == 4)))
>> 
> 



More information about the mesa-dev mailing list