diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 66cc81a377da588510e1f35b17ed94e239f247ef..49f374de317aac37d175b7c9800a6df78c7b3025 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,8 +1,8 @@ 2014-11-20 Uros Bizjak <ubizjak@gmail.com> PR target/63966 - * lex.c [__i386__ || __x86_64__]: Include system <cpuid.h> for - GCC_VERSION < 5000. + * lex.c [__i386__ || __x86_64__]: Compile special SSE functions + only for (__GNUC__ >= 5 || !defined(__PIC__)). 2014-11-13 Manuel López-Ibáñez <manu@gcc.gnu.org> diff --git a/libcpp/lex.c b/libcpp/lex.c index 298dd7fff3dce4efe9313b3fc958b30d4c272fac..845c1d271058375fd6a83e5f0c3be87bab8c45ae 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -270,7 +270,7 @@ search_line_acc_char (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) extensions used, so SSE4.2 executables cannot run on machines that don't support that extension. */ -#if (GCC_VERSION >= 4005) && (defined(__i386__) || defined(__x86_64__)) && !(defined(__sun__) && defined(__svr4__)) +#if (GCC_VERSION >= 4005) && (__GNUC__ >= 5 || !defined(__PIC__)) && (defined(__i386__) || defined(__x86_64__)) && !(defined(__sun__) && defined(__svr4__)) /* Replicated character data to be shared between implementations. Recall that outside of a context with vector support we can't @@ -471,11 +471,7 @@ search_line_sse42 (const uchar *s, const uchar *end) /* Check the CPU capabilities. */ -#if (GCC_VERSION >= 5000) #include "../gcc/config/i386/cpuid.h" -#else -#include <cpuid.h> -#endif typedef const uchar * (*search_line_fast_type) (const uchar *, const uchar *); static search_line_fast_type search_line_fast;