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

Author: Tim Rowley <[email protected]>
Date:   Thu Jul 27 14:56:46 2017 -0500

swr/rast: vmask() implementations for KNL

Reviewed-by: Bruce Cherniak <[email protected]>

---

 .../swr/rasterizer/common/simdlib_512_avx512_knights.inl   | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git 
a/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_knights.inl 
b/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_knights.inl
index 17001be067..2ee7639ccf 100644
--- a/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_knights.inl
+++ b/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512_knights.inl
@@ -132,6 +132,20 @@
     }
 #define SIMD_IWRAPPER_2I(op) SIMD_IWRAPPER_2I_(op, op)
 
+private:
+    static SIMDINLINE Integer vmask(__mmask8 m)
+    {
+        return _mm512_mask_set1_epi64(_mm512_setzero_si512(), m, -1LL);
+    }
+    static SIMDINLINE Integer vmask(__mmask32 m)
+    {
+        return _mm512_mask_set1_epi16(_mm512_setzero_si512(), m, -1);
+    }
+    static SIMDINLINE Integer vmask(__mmask64 m)
+    {
+        return _mm512_mask_set1_epi8(_mm512_setzero_si512(), m, -1);
+    }
+
 public:
 SIMD_WRAPPERI_2_(and_ps, and_epi32);          // return a & b       (float 
treated as int)
 SIMD_WRAPPERI_2_(andnot_ps, andnot_epi32);    // return (~a) & b    (float 
treated as int)

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to