This is the mail archive of the
mailing list for the GCC project.
Re: [RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 16 Oct 2014 11:24:51 +0200
- Subject: Re: [RFC PATCH, i386]: Remove special PIC related __cpuid definitions from config/i386/cpuid.h
- Authentication-results: sourceware.org; auth=none
- References: <CAFULd4Ze8=Y5vB7oqcOvHZfpu8B9nY4kA1jXMT4hmOsuZoqrtQ at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Thu, Oct 16, 2014 at 11:19:49AM +0200, Uros Bizjak wrote:
> Now that %ebx is also allocatable in PIC modes, we can cleanup
> config/i386/cpuid considerably. I propose to remove all PIC related
> specializations of __cpuid and __cpuid_count and protect the
> compilation with "#if __GNUC__ >= 5".
> The only drawback would be that non-bootstrapped build with gcc < 5.0
> will ignore -march=native, but I think this should be acceptable.
I'm worried about that.
Can't you instead keep the current cpuid.h stuff as is, just add
&& __GNUC__ < 5
to that, so it treats GCC 5+ PIC as if __PIC__ wasn't defined?
Or, at least use cpuid.h even for older GCC if __PIC__ is not defined
(or __x86_64__ is defined and not medium/large PIC model)?