From: Andi Kleen <a...@linux.intel.com> When compiling on opensuse 13.1, with a 4.8.1 based host compiler and --disable-bootstrap, the generated compiler always ICEs while compiling __builtin_cpu_supports in the cilk runtime library.
The problem is fixed with later 4.8 releases, but at least still happens with the opensuse compiler. The cilk library already had a fallback path for this function for other compilers. Just use the fallback path when __SSE2_MATH__ is set. This makes it work on x86_64 systems with the buggy 4.8.1 at least, if multilib is forced to SSE. libcilkrts/: 2014-09-12 Andi Kleen <a...@linux.intel.com> PR bootstrap/63235 * runtime/config/x86/os-unix-sysdep.c (__builtin_cpu_supports): Use fallback when __SSE2_MATH__ is set. --- libcilkrts/runtime/config/x86/os-unix-sysdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcilkrts/runtime/config/x86/os-unix-sysdep.c b/libcilkrts/runtime/config/x86/os-unix-sysdep.c index b505ddf..344c31a 100644 --- a/libcilkrts/runtime/config/x86/os-unix-sysdep.c +++ b/libcilkrts/runtime/config/x86/os-unix-sysdep.c @@ -96,7 +96,7 @@ COMMON_SYSDEP int __cilkrts_xchg(volatile int *ptr, int x) * This declaration should generate an error when the Intel compiler adds * supprt for the intrinsic. */ -#ifdef __INTEL_COMPILER +#if defined(__INTEL_COMPILER) || defined(__SSE2_MATH__) static inline int __builtin_cpu_supports(const char *feature) { return 1; -- 2.1.0