mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-12-08 23:03:46 +00:00
57 lines
2.5 KiB
Diff
57 lines
2.5 KiB
Diff
|
From 8dacf5f9d1df95c768016a1b92465bbabed37b54 Mon Sep 17 00:00:00 2001
|
|||
|
From: Vinson Lee <vlee@freedesktop.org>
|
|||
|
Date: Thu, 30 Jan 2020 20:48:26 -0800
|
|||
|
Subject: [PATCH] swr: Fix build with GCC 10.
|
|||
|
MIME-Version: 1.0
|
|||
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|||
|
GCC 10 added _mm256_storeu2_m128i.
|
|||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91341
|
|||
|
|
|||
|
This patch fixes this build error with GCC 10.
|
|||
|
|
|||
|
In file included from src/gallium/drivers/swr/rasterizer/codegen/gen_knobs.cpp:39:
|
|||
|
../src/gallium/drivers/swr/rasterizer/common/os.h:178:20: error: ‘void _mm256_storeu2_m128i(__m128i*, __m128i*, __m256i)’ redeclared inline without ‘gnu_inline’ attribute
|
|||
|
178 | static INLINE void _mm256_storeu2_m128i(__m128i* hi, __m128i* lo, __m256i a)
|
|||
|
| ^~~~~~~~~~~~~~~~~~~~
|
|||
|
In file included from /usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h:51,
|
|||
|
from /usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h:32,
|
|||
|
from ../src/gallium/drivers/swr/rasterizer/common/os.h:107,
|
|||
|
from src/gallium/drivers/swr/rasterizer/codegen/gen_knobs.cpp:39:
|
|||
|
/usr/lib/gcc/x86_64-redhat-linux/10/include/avxintrin.h:1580:1: note: ‘void _mm256_storeu2_m128i(__m128i_u*, __m128i_u*, __m256i)’ previously defined here
|
|||
|
1580 | _mm256_storeu2_m128i (__m128i_u *__PH, __m128i_u *__PL, __m256i __A)
|
|||
|
| ^~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
|
|||
|
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3650>
|
|||
|
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3650>
|
|||
|
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
|
|||
|
---
|
|||
|
src/gallium/drivers/swr/rasterizer/common/os.h | 4 +++-
|
|||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|||
|
|
|||
|
diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h
|
|||
|
index e812da39851..c4ee00bc91d 100644
|
|||
|
--- a/src/gallium/drivers/swr/rasterizer/common/os.h
|
|||
|
+++ b/src/gallium/drivers/swr/rasterizer/common/os.h
|
|||
|
@@ -174,12 +174,14 @@ inline uint64_t __rdtsc()
|
|||
|
#endif
|
|||
|
|
|||
|
#if !defined(__clang__) && !defined(__INTEL_COMPILER)
|
|||
|
-// Intrinsic not defined in gcc
|
|||
|
+// Intrinsic not defined in gcc < 10
|
|||
|
+#if (__GNUC__) && (GCC_VERSION < 100000)
|
|||
|
static INLINE 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));
|
|||
|
}
|
|||
|
+#endif
|
|||
|
|
|||
|
// gcc prior to 4.9 doesn't have _mm*_undefined_*
|
|||
|
#if (__GNUC__) && (GCC_VERSION < 409000)
|
|||
|
--
|
|||
|
2.26.2
|
|||
|
|