re PR target/63966 (inconsistent operand constraints compiling build libcpp)
authorUros Bizjak <ubizjak@gmail.com>
Thu, 20 Nov 2014 12:10:12 +0000 (13:10 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 20 Nov 2014 12:10:12 +0000 (13:10 +0100)
PR target/63966
* lex.c [__i386__ || __x86_64__]: Compile special SSE functions
only for (__GNUC__ >= 5 || !defined(__PIC__)).

From-SVN: r217851

libcpp/ChangeLog
libcpp/lex.c

index 66cc81a377da588510e1f35b17ed94e239f247ef..49f374de317aac37d175b7c9800a6df78c7b3025 100644 (file)
@@ -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>
 
index 298dd7fff3dce4efe9313b3fc958b30d4c272fac..845c1d271058375fd6a83e5f0c3be87bab8c45ae 100644 (file)
@@ -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;