On Wed, Nov 19, 2014 at 9:59 PM, Uros Bizjak <ubiz...@gmail.com> wrote:
> Hello!
>
> libcpp/lex.c includes "../gcc/config/i386/cpuid.h", and is picked up
> by the system compiler during stage1. Recently, cpuid.h was changed to
> account for %ebx changes and now uses "b" asm constraint for i686 even
> with __PIC__.

Attached patch is what I have committed to mainline SVN.

2014-11-20  Uros Bizjak  <ubiz...@gmail.com>

    PR target/63966
    * lex.c [__i386__ || __x86_64__]: Compile special SSE functions
    only for (__GNUC__ >= 5 || !defined(__PIC__)).

Bootstrapped on x86_64-linux-gnu, Fedora 20 and CentOS 5.11.

Uros.

Index: lex.c
===================================================================
--- lex.c       (revision 217830)
+++ lex.c       (working copy)
@@ -270,7 +270,7 @@
    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__) && de

 /* Replicated character data to be shared between implementations.
    Recall that outside of a context with vector support we can't

Reply via email to