2003-06-30 Chris Demetriou <cgd@broadcom.com>
authorChris Demetriou <cgd@google.com>
Mon, 30 Jun 2003 21:54:19 +0000 (21:54 +0000)
committerChris Demetriou <cgd@google.com>
Mon, 30 Jun 2003 21:54:19 +0000 (21:54 +0000)
        * config/tc-mips.c (s_mipsset): Implement -march= handling
        differently.

gas/ChangeLog
gas/config/tc-mips.c

index c14d993f56016f1335882fd9c94cf8b5e7d19da8..e97f70520956bebd39dce2b6fe46c59da7008796 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-30  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/tc-mips.c (s_mipsset): Implement -march= handling
+       differently.
+
 2003-06-30  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
 
        * config/tc-mips.c: Convert to ISO C90 prototypes. Remove unnecessary
index 53af88b3ea36c60fa65e305f631c3ac73f4e7795..b66aae41bfea75279db733b04835d3a0fe1d6ebc 100644 (file)
@@ -11945,12 +11945,12 @@ s_mipsset (int x ATTRIBUTE_UNUSED)
     mips_opts.ase_mdmx = 1;
   else if (strcmp (name, "nomdmx") == 0)
     mips_opts.ase_mdmx = 0;
-  else if (strncmp (name, "mips", 4) == 0)
+  else if (strncmp (name, "mips", 4) == 0 || strncmp (name, "arch=", 5) == 0)
     {
       int reset = 0;
 
-      /* Permit the user to change the ISA on the fly.  Needless to
-        say, misuse can cause serious problems.  */
+      /* Permit the user to change the ISA and architecture on the fly.
+        Needless to say, misuse can cause serious problems.  */
       if (strcmp (name, "mips0") == 0)
        {
          reset = 1;
@@ -11972,6 +11972,25 @@ s_mipsset (int x ATTRIBUTE_UNUSED)
        mips_opts.isa = ISA_MIPS32R2;
       else if (strcmp (name, "mips64") == 0)
        mips_opts.isa = ISA_MIPS64;
+      else if (strcmp (name, "arch=default") == 0)
+       {
+         reset = 1;
+         mips_opts.arch = file_mips_arch;
+         mips_opts.isa = file_mips_isa;
+       }
+      else if (strncmp (name, "arch=", 5) == 0)
+       {
+         const struct mips_cpu_info *p;
+
+         p = mips_parse_cpu("internal use", name + 5);
+         if (!p)
+           as_bad (_("unknown architecture %s"), name + 5);
+         else
+           {
+             mips_opts.arch = p->cpu;
+             mips_opts.isa = p->isa;
+           }
+       }
       else
        as_bad (_("unknown ISA level %s"), name + 4);
 
@@ -12044,47 +12063,6 @@ s_mipsset (int x ATTRIBUTE_UNUSED)
          free (s);
        }
     }
-  else if (strncmp (name, "arch=", 5) == 0)
-    {
-      /* Permit the user to change the architecture on the fly.  Needless
-        to say, misuse can cause serious problems.  */
-      if (strcmp (name + 5, "default") == 0)
-       {
-         mips_opts.arch = file_mips_arch;
-         mips_opts.isa = file_mips_isa;
-         mips_opts.gp32 = file_mips_gp32;
-         mips_opts.fp32 = file_mips_fp32;
-       }
-      else
-       {
-         const struct mips_cpu_info *p;
-
-         p = mips_parse_cpu("internal use", name + 5);
-         if (!p)
-           as_bad (_("unknown architecture %s"), name + 5);
-         else
-           {
-             mips_opts.arch = p->cpu;
-             mips_opts.isa = p->isa;
-           }
-
-         switch (mips_opts.arch)
-           {
-             case CPU_R3000:
-             case CPU_R3900:
-             case CPU_R6000:
-             case CPU_MIPS32:
-             case CPU_MIPS32R2:
-               mips_opts.gp32 = 1;
-               mips_opts.fp32 = 1;
-               break;
-             default:
-               mips_opts.gp32 = 0;
-               mips_opts.fp32 = 0;
-               break;
-           }
-       }
-    }
   else
     {
       as_warn (_("Tried to set unrecognized symbol: %s\n"), name);