29 lines
1.6 KiB
Diff
29 lines
1.6 KiB
Diff
|
From d61f3f153f8db2c991c09a3d2bd5ac9af69ce614 Mon Sep 17 00:00:00 2001
|
|||
|
From: lemmi <lemmi@nerd2nerd.org>
|
|||
|
Date: Mon, 5 Jul 2021 02:31:17 +0200
|
|||
|
Subject: [PATCH] define target_clones attribute only for glibc
|
|||
|
|
|||
|
---
|
|||
|
src/common/darktable.h | 4 ++--
|
|||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|||
|
|
|||
|
diff --git a/src/common/darktable.h b/src/common/darktable.h
|
|||
|
index 3267cfed3..03f17f0ee 100644
|
|||
|
--- a/src/common/darktable.h
|
|||
|
+++ b/src/common/darktable.h
|
|||
|
@@ -126,9 +126,9 @@ typedef unsigned int u_int;
|
|||
|
/* Create cloned functions for various CPU SSE generations */
|
|||
|
/* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
|
|||
|
/* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */
|
|||
|
-#if __has_attribute(target_clones) && !defined(_WIN32) && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64))
|
|||
|
+#if __has_attribute(target_clones) && !defined(_WIN32) && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)) && defined(__GLIBC__)
|
|||
|
#define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
|
|||
|
-#elif __has_attribute(target_clones) && !defined(_WIN32) && defined(__PPC64__)
|
|||
|
+#elif __has_attribute(target_clones) && !defined(_WIN32) && defined(__PPC64__) && defined(__GLIBC__)
|
|||
|
/* __PPC64__ is the only macro tested for in is_supported_platform.h, other macros would fail there anyway. */
|
|||
|
#define __DT_CLONE_TARGETS__ __attribute__((target_clones("default","cpu=power9")))
|
|||
|
#else
|
|||
|
--
|
|||
|
2.32.0
|
|||
|
|