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

2017-11-01 Thread Rowley, Timothy O
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  wrote:
> 
> Looks good to me.
> Albeit I think there's quite a few more places which probably should
> handle avx512...
> 
> Reviewed-by: Roland Scheidegger 
> 
> 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)))
>> 
> 

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2017-11-01 Thread Roland Scheidegger
Looks good to me.
Albeit I think there's quite a few more places which probably should
handle avx512...

Reviewed-by: Roland Scheidegger 

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)))
> 

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


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

2017-11-01 Thread 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)))
-- 
2.14.1

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev