From: Tim Rowley Date: Thu, 4 Jan 2018 16:08:48 +0000 (-0600) Subject: swr/rast: fix invalid sign masks in avx512 simdlib code X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=396c006d907b023f9b187db618ee2a6e4e1b8a85;p=mesa.git swr/rast: fix invalid sign masks in avx512 simdlib code Should be 0x80000000 instead of 0x8000000. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Bruce Cherniak --- diff --git a/src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512.inl b/src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512.inl index 66e83096104..b70a7691e2b 100644 --- a/src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512.inl +++ b/src/gallium/drivers/swr/rasterizer/common/simdlib_128_avx512.inl @@ -270,7 +270,7 @@ static SIMDINLINE Float SIMDCALL mask_i32gather_ps(Float old, float const* p, In { __mmask16 m = 0xf; m = _mm512_mask_test_epi32_mask(m, _mm512_castps_si512(__conv(mask)), - _mm512_set1_epi32(0x8000000)); + _mm512_set1_epi32(0x80000000)); return __conv(_mm512_mask_i32gather_ps( __conv(old), m, diff --git a/src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512.inl b/src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512.inl index 3f93cfbd7f1..3fcfd250f91 100644 --- a/src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512.inl +++ b/src/gallium/drivers/swr/rasterizer/common/simdlib_256_avx512.inl @@ -271,7 +271,7 @@ static SIMDINLINE Float SIMDCALL mask_i32gather_ps(Float old, float const* p, In { __mmask16 m = 0xff; m = _mm512_mask_test_epi32_mask(m, _mm512_castps_si512(__conv(mask)), - _mm512_set1_epi32(0x8000000)); + _mm512_set1_epi32(0x80000000)); return __conv(_mm512_mask_i32gather_ps( __conv(old), m, 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 c13b9f616aa..8de62f2a7e4 100644 --- a/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl +++ b/src/gallium/drivers/swr/rasterizer/common/simdlib_512_avx512.inl @@ -540,7 +540,7 @@ static SIMDINLINE uint32_t SIMDCALL movemask_pd(Double a) } static SIMDINLINE uint32_t SIMDCALL movemask_ps(Float a) { - __mmask16 m = _mm512_test_epi32_mask(castps_si(a), set1_epi32(0x8000000)); + __mmask16 m = _mm512_test_epi32_mask(castps_si(a), set1_epi32(0x80000000)); return static_cast(m); }