Commit 35a63f21 by Dwarakanath Rajagopal Committed by Harsha Jagasia

driver-i386.c: Turn on -mtune=native for AMDFAM10.

2007-02-09  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>

	* config/i386/driver-i386.c: Turn on -mtune=native for AMDFAM10.
	(bit_SSE4a): New.

From-SVN: r121763
parent 3e19841a
2007-02-09 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
* config/i386/driver-i386.c: Turn on -mtune=native for AMDFAM10.
(bit_SSE4a): New.
2007-02-09 Nathan Sidwell <nathan@codesourcery.com> 2007-02-09 Nathan Sidwell <nathan@codesourcery.com>
Richard Sandiford <richard@codesourcery.com> Richard Sandiford <richard@codesourcery.com>
......
/* Subroutines for the gcc driver. /* Subroutines for the gcc driver.
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -40,6 +40,7 @@ const char *host_detect_local_cpu (int argc, const char **argv); ...@@ -40,6 +40,7 @@ const char *host_detect_local_cpu (int argc, const char **argv);
#define bit_SSE3 (1 << 0) #define bit_SSE3 (1 << 0)
#define bit_SSSE3 (1 << 9) #define bit_SSSE3 (1 << 9)
#define bit_SSE4a (1 << 6)
#define bit_CMPXCHG16B (1 << 13) #define bit_CMPXCHG16B (1 << 13)
#define bit_3DNOW (1 << 31) #define bit_3DNOW (1 << 31)
...@@ -68,7 +69,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) ...@@ -68,7 +69,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
unsigned int ext_level; unsigned int ext_level;
unsigned char has_mmx = 0, has_3dnow = 0, has_3dnowp = 0, has_sse = 0; unsigned char has_mmx = 0, has_3dnow = 0, has_3dnowp = 0, has_sse = 0;
unsigned char has_sse2 = 0, has_sse3 = 0, has_ssse3 = 0, has_cmov = 0; unsigned char has_sse2 = 0, has_sse3 = 0, has_ssse3 = 0, has_cmov = 0;
unsigned char has_longmode = 0, has_cmpxchg8b = 0; unsigned char has_longmode = 0, has_cmpxchg8b = 0, has_sse4a = 0;
unsigned char is_amd = 0; unsigned char is_amd = 0;
unsigned int family = 0; unsigned int family = 0;
bool arch; bool arch;
...@@ -120,6 +121,7 @@ const char *host_detect_local_cpu (int argc, const char **argv) ...@@ -120,6 +121,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
has_3dnow = !!(edx & bit_3DNOW); has_3dnow = !!(edx & bit_3DNOW);
has_3dnowp = !!(edx & bit_3DNOWP); has_3dnowp = !!(edx & bit_3DNOWP);
has_longmode = !!(edx & bit_LM); has_longmode = !!(edx & bit_LM);
has_sse4a = !!(ecx & bit_SSE4a);
} }
is_amd = vendor == *(unsigned int*)"Auth"; is_amd = vendor == *(unsigned int*)"Auth";
...@@ -132,6 +134,8 @@ const char *host_detect_local_cpu (int argc, const char **argv) ...@@ -132,6 +134,8 @@ const char *host_detect_local_cpu (int argc, const char **argv)
processor = PROCESSOR_ATHLON; processor = PROCESSOR_ATHLON;
if (has_sse2 || has_longmode) if (has_sse2 || has_longmode)
processor = PROCESSOR_K8; processor = PROCESSOR_K8;
if (has_sse4a)
processor = PROCESSOR_AMDFAM10;
} }
else else
{ {
...@@ -266,6 +270,9 @@ const char *host_detect_local_cpu (int argc, const char **argv) ...@@ -266,6 +270,9 @@ const char *host_detect_local_cpu (int argc, const char **argv)
case PROCESSOR_NOCONA: case PROCESSOR_NOCONA:
cpu = "nocona"; cpu = "nocona";
break; break;
case PROCESSOR_AMDFAM10:
cpu = "amdfam10";
break;
case PROCESSOR_GENERIC32: case PROCESSOR_GENERIC32:
case PROCESSOR_GENERIC64: case PROCESSOR_GENERIC64:
cpu = "generic"; cpu = "generic";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment