ports/graphics/darktable/patches/patch-src_common_darktable_h

26 lines
1.3 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

disable code which uses attribute(target_clones) to provide functions
optimized for different CPUs. apparently clang 15 adds supports for this,
but we don't have ifunc support in the toolchain, so it fails to link.
Index: src/common/darktable.h
--- src/common/darktable.h.orig
+++ src/common/darktable.h
@@ -127,18 +127,7 @@ 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(NATIVE_ARCH)
-# if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)
-#define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
-# elif defined(__PPC64__)
-/* __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
#define __DT_CLONE_TARGETS__
-# endif
-#else
-#define __DT_CLONE_TARGETS__
-#endif
/* Helper to force stack vectors to be aligned on 64 bits blocks to enable AVX2 */
#define DT_IS_ALIGNED(x) __builtin_assume_aligned(x, 64)