This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386] Handle extended family cpuid info for AMD
- From: Jakub Jelinek <jakub at redhat dot com>
- To: "Gopalasubramanian, Ganesh" <Ganesh dot Gopalasubramanian at amd dot com>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 1 Aug 2014 17:00:08 +0200
- Subject: Re: [PATCH, i386] Handle extended family cpuid info for AMD
- Authentication-results: sourceware.org; auth=none
- References: <EB4625145972F94C9680D8CADD651615787D3293 at SATLEXDAG02 dot amd dot com> <CAFULd4bYmTe8H0DobUjsTV2ZkUjj3F66ofS-Fk4yfW08E=aK2g at mail dot gmail dot com> <EB4625145972F94C9680D8CADD651615787D32D3 at SATLEXDAG02 dot amd dot com> <CAFULd4aoB070f4rTZ9RsR4x4K89QZFaHmBKdMhmZQFf09M8DVQ at mail dot gmail dot com> <EB4625145972F94C9680D8CADD651615787D32E9 at SATLEXDAG02 dot amd dot com> <CAFULd4YvfSiZk+ya51BgiHQLbanYsVwn04TrbeqfJ2bDgHjp4A at mail dot gmail dot com> <EB4625145972F94C9680D8CADD651615787D5FE3 at SATLEXDAG02 dot amd dot com> <CAFULd4apsiVY6C858Vv5nOSdd66TS=mOLuJm1cqH1Pb9fpsnrA at mail dot gmail dot com> <EB4625145972F94C9680D8CADD651615787D62B5 at SATLEXDAG02 dot amd dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, Aug 01, 2014 at 02:52:28PM +0000, Gopalasubramanian, Ganesh wrote:
> --- a/gcc/config/i386/driver-i386.c
> +++ b/gcc/config/i386/driver-i386.c
> @@ -432,7 +432,8 @@ const char *host_detect_local_cpu (int argc, const char **argv)
>
> model = (eax >> 4) & 0x0f;
> family = (eax >> 8) & 0x0f;
> - if (vendor == signature_INTEL_ebx)
> + if ((vendor == signature_INTEL_ebx) ||
> + (vendor == signature_AMD_ebx))
Wrong formatting. No ()s around the comparisons needed, and
|| should go on the second line, not first.
> @@ -576,7 +577,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
>
> if (name == signature_NSC_ebx)
> processor = PROCESSOR_GEODE;
> - else if (has_movbe)
> + else if (family == 22)
> processor = PROCESSOR_BTVER2;
Wouldn't it be safer to use has_movbe && family == 22?
I mean, especially with emulators which choose to provide some architecture,
but disable some CPUID flags it is IMHO safer to also check the flags.
Jakub