From 1b6b13f3eeae79e4ba9b0888f623bdf30467ad46 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 20 Nov 2014 13:10:12 +0100 Subject: [PATCH] re PR target/63966 (inconsistent operand constraints compiling build libcpp) PR target/63966 * lex.c [__i386__ || __x86_64__]: Compile special SSE functions only for (__GNUC__ >= 5 || !defined(__PIC__)). From-SVN: r217851 --- libcpp/ChangeLog | 4 ++-- libcpp/lex.c | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 66cc81a377d..49f374de317 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,8 +1,8 @@ 2014-11-20 Uros Bizjak PR target/63966 - * lex.c [__i386__ || __x86_64__]: Include system 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 diff --git a/libcpp/lex.c b/libcpp/lex.c index 298dd7fff3d..845c1d27105 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 -#endif typedef const uchar * (*search_line_fast_type) (const uchar *, const uchar *); static search_line_fast_type search_line_fast;