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