From f0a22956be4802e01f2b4f3244f011212626f12d Mon Sep 17 00:00:00 2001 From: Tim Rowley Date: Thu, 6 Jul 2017 10:28:53 -0500 Subject: [PATCH] swr/rast: _mm*_undefined_* implementations for gcc<4.9 Define these in terms of setzero for ancient gcc versions which don't have the undefined intrinsics. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Bruce Cherniak --- src/gallium/drivers/swr/rasterizer/common/os.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h index 6e4d98f13fc..86577094059 100644 --- a/src/gallium/drivers/swr/rasterizer/common/os.h +++ b/src/gallium/drivers/swr/rasterizer/common/os.h @@ -173,6 +173,12 @@ void _mm256_storeu2_m128i(__m128i *hi, __m128i *lo, __m256i a) _mm_storeu_si128((__m128i*)lo, _mm256_castsi256_si128(a)); _mm_storeu_si128((__m128i*)hi, _mm256_extractf128_si256(a, 0x1)); } + +// gcc prior to 4.9 doesn't have _mm*_undefined_* +#if (__GNUC__) && (GCC_VERSION < 409000) +#define _mm_undefined_si128 _mm_setzero_si128 +#define _mm256_undefined_ps _mm256_setzero_ps +#endif #endif inline -- 2.30.2