Module: Mesa
Branch: master
Commit: eddbd781af15f655a1dba6949e7c6b214f47e2f8
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eddbd781af15f655a1dba6949e7c6b214f47e2f8

Author: Tim Rowley <timothy.o.row...@intel.com>
Date:   Thu Jul 20 17:06:14 2017 -0500

swr/rast: fix movemask_ps / movemask_pd on AVX512

Reviewed-by: Bruce Cherniak <bruce.chern...@intel.com>

---

 src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl 
b/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl
index 1001417704..1dbfff8c9c 100644
--- a/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl
+++ b/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl
@@ -554,15 +554,20 @@ static SIMDINLINE uint64_t SIMDCALL movemask_epi8(Integer 
a)
 
 static SIMDINLINE uint32_t SIMDCALL movemask_pd(Double a)
 {
-    __mmask8 m = _mm512_test_epi64_mask(castpd_si(a), set1_epi32(-1));
+    __mmask8 m = _mm512_test_epi64_mask(castpd_si(a), 
set1_epi64(0x8000000000000000LL));
     return static_cast<uint32_t>(m);
 }
 static SIMDINLINE uint32_t SIMDCALL movemask_ps(Float a)
 {
-    __mmask16 m = _mm512_test_epi32_mask(castps_si(a), set1_epi32(-1));
+    __mmask16 m = _mm512_test_epi32_mask(castps_si(a), set1_epi32(0x8000000));
     return static_cast<uint32_t>(m);
 }
 
+static SIMDINLINE Integer SIMDCALL set1_epi64(long long i) // return i (all 
elements are same value)
+{
+    return _mm512_set1_epi64(i);
+}
+
 static SIMDINLINE Integer SIMDCALL set1_epi32(int i) // return i (all elements 
are same value)
 {
     return _mm512_set1_epi32(i);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to