i386.c (override_options): Pick a 64-bit CPU for the default tuning if TARGET_64BIT.
authorDaniel Jacobowitz <dan@debian.org>
Sat, 10 Jul 2004 19:01:40 +0000 (19:01 +0000)
committerDaniel Jacobowitz <drow@gcc.gnu.org>
Sat, 10 Jul 2004 19:01:40 +0000 (19:01 +0000)
* config/i386/i386.c (override_options): Pick a 64-bit CPU
for the default tuning if TARGET_64BIT.

From-SVN: r84470

gcc/ChangeLog
gcc/config/i386/i386.c

index e6d9dd85dbc86446d48c3ae2b44b214586c9ee9e..3ce75e9dbb8e8732e63c86de298e6775eb3098ce 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-10  Daniel Jacobowitz  <dan@debian.org>
+
+       * config/i386/i386.c (override_options): Pick a 64-bit CPU
+       for the default tuning if TARGET_64BIT.
+
 2004-07-10  Richard Henderson  <rth@redhat.com>
 
        * builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
index 7d7312ca6d061dc6fe4ef06c88dc4f9a07228b65..dafc60afe41bff2c0d82e87c1d1a50af03730b1a 100644 (file)
@@ -1097,6 +1097,8 @@ void
 override_options (void)
 {
   int i;
+  int ix86_tune_defaulted = 0;
+
   /* Comes from final.c -- no real reason to change it.  */
 #define MAX_CODE_ALIGN 16
 
@@ -1221,7 +1223,10 @@ override_options (void)
   if (!ix86_tune_string && ix86_arch_string)
     ix86_tune_string = ix86_arch_string;
   if (!ix86_tune_string)
-    ix86_tune_string = cpu_names [TARGET_CPU_DEFAULT];
+    {
+      ix86_tune_string = cpu_names [TARGET_CPU_DEFAULT];
+      ix86_tune_defaulted = 1;
+    }
   if (!ix86_arch_string)
     ix86_arch_string = TARGET_64BIT ? "x86-64" : "i386";
 
@@ -1293,7 +1298,20 @@ override_options (void)
        if (processor_alias_table[i].flags & PTA_PREFETCH_SSE)
          x86_prefetch_sse = true;
        if (TARGET_64BIT && !(processor_alias_table[i].flags & PTA_64BIT))
-         error ("CPU you selected does not support x86-64 instruction set");
+         {
+           if (ix86_tune_defaulted)
+             {
+               ix86_tune_string = "x86-64";
+               for (i = 0; i < pta_size; i++)
+                 if (! strcmp (ix86_tune_string,
+                               processor_alias_table[i].name))
+                   break;
+               ix86_tune = processor_alias_table[i].processor;
+             }
+           else
+             error ("CPU you selected does not support x86-64 "
+                    "instruction set");
+         }
        break;
       }