This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, i386] Handle extended family cpuid info for AMD


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]