Remove duplicate definitions of the md_atof() function
authorNick Clifton <nickc@redhat.com>
Wed, 17 Oct 2007 16:45:56 +0000 (16:45 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 17 Oct 2007 16:45:56 +0000 (16:45 +0000)
61 files changed:
gas/ChangeLog
gas/as.h
gas/config/atof-ieee.c
gas/config/atof-vax.c
gas/config/tc-alpha.c
gas/config/tc-arc.c
gas/config/tc-arm.c
gas/config/tc-avr.c
gas/config/tc-bfin.c
gas/config/tc-cr16.c
gas/config/tc-crx.c
gas/config/tc-d10v.c
gas/config/tc-d30v.c
gas/config/tc-dlx.c
gas/config/tc-fr30.c
gas/config/tc-frv.c
gas/config/tc-h8300.c
gas/config/tc-hppa.c
gas/config/tc-i370.c
gas/config/tc-i386.c
gas/config/tc-i860.c
gas/config/tc-i960.c
gas/config/tc-ia64.c
gas/config/tc-ip2k.c
gas/config/tc-iq2000.c
gas/config/tc-m32c.c
gas/config/tc-m32r.c
gas/config/tc-m68hc11.c
gas/config/tc-m68k.c
gas/config/tc-maxq.c
gas/config/tc-mcore.c
gas/config/tc-mep.c
gas/config/tc-mips.c
gas/config/tc-mmix.c
gas/config/tc-mn10200.c
gas/config/tc-mn10300.c
gas/config/tc-msp430.c
gas/config/tc-mt.c
gas/config/tc-ns32k.c
gas/config/tc-openrisc.c
gas/config/tc-or32.c
gas/config/tc-pdp11.c
gas/config/tc-pj.c
gas/config/tc-ppc.c
gas/config/tc-s390.c
gas/config/tc-score.c
gas/config/tc-sh.c
gas/config/tc-sparc.c
gas/config/tc-spu.c
gas/config/tc-tic30.c
gas/config/tc-tic4x.c
gas/config/tc-tic54x.c
gas/config/tc-v850.c
gas/config/tc-vax.c
gas/config/tc-xc16x.c
gas/config/tc-xstormy16.c
gas/config/tc-xtensa.c
gas/config/tc-z8k.c
gas/doc/internals.texi
gas/po/gas.pot
gas/read.c

index 49ba40b22592eb8e6cf1b734cc2c6585b214b198..dabb2f62a0ef4579146612530a78ce0f3441484c 100644 (file)
@@ -1,3 +1,73 @@
+2007-10-17  Nick Clifton  <nickc@redhat.com>
+
+       PR gas/5173
+       * as.h (ieee_md_atof, vax_md_atof): New prototypes.
+       * read.c (s_float_space): Allow a zero length return from md_atof
+       if the error message has been set.
+       (float_cons): Likewise.
+       * config/atof-ieee.c (ieee_md_atof): New function.  Performs the
+       md_atof() function in a generic way for IEEE using targets.
+       * config/atof-vax.c (md_atof): Rename to vax_md_atof.  Use the
+       same error message as ieee_md_atof.
+       * tc-alpha.c (md_atof): Use ieee_md_atof.  Remove #define of vax_md_atof.
+       * tc-arc.c (md_atof): Use ieee_md_atof.
+       * tc-arm.c (md_atof): Use sizeof (LITTLENUM_TYPE) instead of the
+       constant 2.  Use a precision of 5 for the 'x' and 'p' types.
+       * tc-avr.c (md_atof): Use ieee_md_atof.
+       * tc-bfin.c (md_atof): Use ieee_md_atof.
+       * tc-cr16.c (md_atof): Use ieee_md_atof.
+       * tc-crx.c (md_atof): Use ieee_md_atof.
+       * tc-d10v.c (md_atof): Use ieee_md_atof.
+       * tc-d30v.c (md_atof): Use ieee_md_atof.
+       * tc-dlx.c (md_atof): Use ieee_md_atof.
+       * tc-fr30.c (md_atof): Use ieee_md_atof.
+       * tc-frv.c (md_atof): Use ieee_md_atof.
+       * tc-h8300.c (md_atof): Use ieee_md_atof.
+       * tc-hppa.c (md_atof): Use ieee_md_atof.
+       * tc-i370.c (md_atof): Use ieee_md_atof.
+       (i370_dc): Convert the 'E' type to 'f' before calling md_atof.
+       * tc-i386.c (md_atof): Use ieee_md_atof.
+       * tc-i860.c (md_atof): Use ieee_md_atof.
+       * tc-i960.c (md_atof): Use ieee_md_atof.
+       * tc-ia64.c (md_atof): Use the same error message as ieee_md_atof.
+       * tc-ip2k.c (md_atof): Use ieee_md_atof.
+       * tc-iq2000.c (md_atof): Use ieee_md_atof.
+       * tc-m32c.c (md_atof): Use ieee_md_atof.
+       * tc-m32r.c (md_atof): Use ieee_md_atof.
+       * tc-m68hc11.c (md_atof): Use ieee_md_atof.
+       * tc-m68k.c (md_atof): Use ieee_md_atof.
+       * tc-maxq.c (md_atof): Use ieee_md_atof.
+       * tc-mcore.c (md_atof): Use ieee_md_atof.
+       * tc-mep.c (md_atof): Use ieee_md_atof.
+       * tc-mips.c (md_atof): Use ieee_md_atof.
+       * tc-mmix.c (md_atof): Use ieee_md_atof.
+       * tc-mn10200.c (md_atof): Use ieee_md_atof.
+       * tc-mn10300.c (md_atof): Use ieee_md_atof.
+       * tc-msp430.c (md_atof): Use ieee_md_atof.
+       * tc-mt.c (md_atof): Use ieee_md_atof.
+       * tc-ns32k.c (md_atof): Use ieee_md_atof.
+       * tc-openrisc.c (md_atof): Use ieee_md_atof.
+       * tc-or32.c (md_atof): Use ieee_md_atof.
+       * tc-pdp11.c (md_atof): New function.  Call vax_md_atof.
+       * tc-pj.c (md_atof): Use ieee_md_atof.
+       * tc-ppc.c (md_atof): Use ieee_md_atof.
+       * tc-s390.c (md_atof): Use ieee_md_atof.
+       * tc-score.c (md_atof): Use ieee_md_atof.
+       * tc-sh.c (md_atof): Use ieee_md_atof.
+       * tc-sparc.c (md_atof): Use ieee_md_atof.
+       * tc-spu.c (md_atof): Use ieee_md_atof.
+       * tc-tic30.c (md_atof): Use the same error message as ieee_md_atof.
+       * tc-tic4x.c (md_atof): Use the same error message as ieee_md_atof.
+       * tc-tic54.c (md_atof): Use ieee_md_atof.
+       * tc-v850.c (md_atof): Use ieee_md_atof.
+       * tc-vax.c (md_atof): New function.  Call vax_md_atof.
+       * tc-xc16x.c (md_atof): Use ieee_md_atof.
+       * tc-xstormy16.c (md_atof): Use ieee_md_atof.
+       * tc-xtensa.c (md_atof): Use ieee_md_atof.
+       * tc-z8k.c (md_atof): Use ieee_md_atof.
+       * doc/internals.texi: Update description of md_atof function.
+       * po/gas.pot: Regenerate.
+
 2007-10-16  Bob Wilson  <bob.wilson@acm.org>
        
        * doc/as.texinfo (Overview): Add Xtensa --rename-section option.
index f6138ebf7833a641e2a4a374bc2a5c1eeb1df4b6..56c7d2ef86b134939ad77bcd53d4a14fb4e80d9b 100644 (file)
--- a/gas/as.h
+++ b/gas/as.h
@@ -534,6 +534,8 @@ void   as_bad_value_out_of_range (char *, offsetT, offsetT, offsetT, char *, uns
 void   print_version_id (void);
 char * app_push (void);
 char * atof_ieee (char *, int, LITTLENUM_TYPE *);
+char * ieee_md_atof (int, char *, int *, bfd_boolean);
+char * vax_md_atof (int, char *, int *);
 char * input_scrub_include_file (char *, char *);
 void   input_scrub_insert_line (const char *);
 void   input_scrub_insert_file (char *);
index 5b1cbb50347ce59b12bad64848b302abfa94ef4e..d901f318ee4dd35bd3414d8d11f79df4e1ca7810 100644 (file)
@@ -160,7 +160,7 @@ make_invalid_floating_point_number (LITTLENUM_TYPE *words)
 
 char *
 atof_ieee (char *str,                  /* Text to convert to binary.  */
-          int what_kind,               /* 'd', 'f', 'g', 'h'.  */
+          int what_kind,               /* 'd', 'f', 'x', 'p'.  */
           LITTLENUM_TYPE *words)       /* Build the binary here.  */
 {
   /* Extra bits for zeroed low-order bits.
@@ -218,7 +218,6 @@ atof_ieee (char *str,                       /* Text to convert to binary.  */
 
     case 'p':
     case 'P':
-
       precision = P_PRECISION;
       exponent_bits = -1;
       break;
@@ -696,5 +695,119 @@ print_gen (gen)
 
   return (sbuf);
 }
+#endif
+
+extern const char FLT_CHARS[];
+#define MAX_LITTLENUMS 6
+
+/* This is a utility function called from various tc-*.c files.  It
+   is here in order to reduce code duplication.
+   
+   Turn a string at input_line_pointer into a floating point constant
+   of type TYPE (a character found in the FLT_CHARS macro), and store
+   it as LITTLENUMS in the bytes buffer LITP.  The number of chars
+   emitted is stored in *SIZEP.  BIG_WORDIAN is TRUE if the littlenums
+   should be emitted most significant littlenum first.
+
+   An error message is returned, or a NULL pointer if everything went OK.  */
+
+char *
+ieee_md_atof (int type,
+             char *litP,
+             int *sizeP,
+             bfd_boolean big_wordian)
+{
+  LITTLENUM_TYPE words[MAX_LITTLENUMS];
+  LITTLENUM_TYPE *wordP;
+  char *t;
+  int prec = 0;
 
+  if (strchr (FLT_CHARS, type) != NULL)
+    {
+      switch (type)
+       {
+       case 'f':
+       case 'F':
+       case 's':
+       case 'S':
+         prec = F_PRECISION;
+         break;
+
+       case 'd':
+       case 'D':
+       case 'r':
+       case 'R':
+         prec = D_PRECISION;
+         break;
+
+       case 't':
+       case 'T':
+         prec = X_PRECISION;
+         type = 'x';           /* This is what atof_ieee() understands.  */
+         break;
+
+       case 'x':
+       case 'X':
+       case 'p':
+       case 'P':
+#ifdef TC_M68K
+         /* Note: on the m68k there is a gap of 16 bits (one littlenum)
+            between the exponent and mantissa.  Hence the precision is
+            6 and not 5.  */
+         prec = P_PRECISION + 1;
+#else
+         prec = P_PRECISION;
 #endif
+         break;
+
+       default:
+         break;
+       }
+    }
+  /* The 'f' and 'd' types are always recognised, even if the target has
+     not put them into the FLT_CHARS macro.  This is because the 'f' type
+     can come from the .dc.s, .dcb.s, .float or .single pseudo-ops and the
+     'd' type from the .dc.d, .dbc.d or .double pseudo-ops.
+
+     The 'x' type is not implicitly recongised however, even though it can
+     be generated by the .dc.x and .dbc.x pseudo-ops because not all targets
+     can support floating point values that big.  ie the target has to
+     explicitly allow them by putting them into FLT_CHARS.  */
+  else if (type == 'f')
+    prec = F_PRECISION;
+  else if (type == 'd')
+    prec = D_PRECISION;
+
+  if (prec == 0)
+    {
+      *sizeP = 0;
+      return _("Unrecognized or unsupported floating point constant");
+    }
+
+  assert (prec <= MAX_LITTLENUMS);
+
+  t = atof_ieee (input_line_pointer, type, words);
+  if (t)
+    input_line_pointer = t;
+
+  *sizeP = prec * sizeof (LITTLENUM_TYPE);
+
+  if (big_wordian)
+    {
+      for (wordP = words; prec --;)
+       {
+         md_number_to_chars (litP, (valueT) (* wordP ++), sizeof (LITTLENUM_TYPE));
+         litP += sizeof (LITTLENUM_TYPE);
+       }
+    }
+  else
+    {
+      for (wordP = words + prec; prec --;)
+       {
+         md_number_to_chars (litP, (valueT) (* -- wordP), sizeof (LITTLENUM_TYPE));
+         litP += sizeof (LITTLENUM_TYPE);
+       }
+    }
+
+  return NULL;
+}
index fbae8ca491cf3cc8ee1dc50a125af8345eb47605..e0125268616ff5da0959c31dc684378e6f56215b 100644 (file)
@@ -389,9 +389,9 @@ flonum_gen2vax (int format_letter,  /* One of 'd' 'f' 'g' 'h'.  */
 #define MAXIMUM_NUMBER_OF_LITTLENUMS  8        /* For .hfloats.  */
 
 char *
-md_atof (int what_statement_type,
-        char *literalP,
-        int *sizeP)
+vax_md_atof (int what_statement_type,
+            char *literalP,
+            int *sizeP)
 {
   LITTLENUM_TYPE words[MAXIMUM_NUMBER_OF_LITTLENUMS];
   char kind_of_float;
@@ -447,5 +447,5 @@ md_atof (int what_statement_type,
     number_of_chars = 0;
 
   *sizeP = number_of_chars;
-  return kind_of_float ? NULL : _("Bad call to md_atof()");
+  return kind_of_float ? NULL : _("Unrecognized or unsupported floating point constant");
 }
index 2b3cb6deeb819c5e06166f6d12fefe8e1715ad50..2d0407847ac8b1f98793cfb3dc3651ef6daf0a2a 100644 (file)
@@ -5020,64 +5020,24 @@ md_section_align (segT seg, valueT size)
    of LITTLENUMS emitted is stored in *SIZEP.  An error message is
    returned, or NULL on OK.  */
 
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
-extern char *vax_md_atof (int, char *, int *);
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
+  extern char *vax_md_atof (int, char *, int *);
 
   switch (type)
     {
       /* VAX floats.  */
     case 'G':
-      /* VAX md_atof doesn't like "G" for some reason.  */
+      /* vax_md_atof() doesn't like "G" for some reason.  */
       type = 'g';
     case 'F':
     case 'D':
       return vax_md_atof (type, litP, sizeP);
 
-      /* IEEE floats.  */
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
     default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
+      return ieee_md_atof (type, litP, sizeP, FALSE);
     }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (wordP = words + prec - 1; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP--), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
 }
 
 /* Take care of the target-specific command-line options.  */
@@ -5709,5 +5669,4 @@ alpha_frob_file_before_adjust (void)
 /* The Alpha has support for some VAX floating point types, as well as for
    IEEE floating point.  We consider IEEE to be the primary floating point
    format, and sneak in the VAX floating point support here.  */
-#define md_atof vax_md_atof
 #include "config/atof-vax.c"
index ab41b20baeb26e8d952ec1f92f5be5112f37f407..0594aaac770b9c3e3634aea8e30a754454044593 100644 (file)
@@ -999,50 +999,10 @@ arc_option (int ignore ATTRIBUTE_UNUSED)
   ignore_rest_of_line ();
 }
 \f
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c  */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-      prec = 4;
-      break;
-
-    default:
-      *sizeP = 0;
-      return "bad call to md_atof";
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 /* Write a value out to the object file, using the appropriate
index daba10104e341bfd64d9f1b948f195c116793492..8c8b9bdb1afedc3014a3cbed7f0e2836b32747f3 100644 (file)
@@ -906,30 +906,30 @@ md_atof (int type, char * litP, int * sizeP)
 
     case 'x':
     case 'X':
-      prec = 6;
+      prec = 5;
       break;
 
     case 'p':
     case 'P':
-      prec = 6;
+      prec = 5;
       break;
 
     default:
       *sizeP = 0;
-      return _("bad call to MD_ATOF()");
+      return _("Unrecognized or unsupported floating point constant");
     }
 
   t = atof_ieee (input_line_pointer, type, words);
   if (t)
     input_line_pointer = t;
-  *sizeP = prec * 2;
+  *sizeP = prec * sizeof (LITTLENUM_TYPE);
 
   if (target_big_endian)
     {
       for (i = 0; i < prec; i++)
        {
-         md_number_to_chars (litP, (valueT) words[i], 2);
-         litP += 2;
+         md_number_to_chars (litP, (valueT) words[i], sizeof (LITTLENUM_TYPE));
+         litP += sizeof (LITTLENUM_TYPE);
        }
     }
   else
@@ -937,21 +937,23 @@ md_atof (int type, char * litP, int * sizeP)
       if (ARM_CPU_HAS_FEATURE (cpu_variant, fpu_endian_pure))
        for (i = prec - 1; i >= 0; i--)
          {
-           md_number_to_chars (litP, (valueT) words[i], 2);
-           litP += 2;
+           md_number_to_chars (litP, (valueT) words[i], sizeof (LITTLENUM_TYPE));
+           litP += sizeof (LITTLENUM_TYPE);
          }
       else
        /* For a 4 byte float the order of elements in `words' is 1 0.
           For an 8 byte float the order is 1 0 3 2.  */
        for (i = 0; i < prec; i += 2)
          {
-           md_number_to_chars (litP, (valueT) words[i + 1], 2);
-           md_number_to_chars (litP + 2, (valueT) words[i], 2);
-           litP += 4;
+           md_number_to_chars (litP, (valueT) words[i + 1],
+                               sizeof (LITTLENUM_TYPE));
+           md_number_to_chars (litP + sizeof (LITTLENUM_TYPE),
+                               (valueT) words[i], sizeof (LITTLENUM_TYPE));
+           litP += 2 * sizeof (LITTLENUM_TYPE);
          }
     }
 
-  return 0;
+  return NULL;
 }
 
 /* We handle all bad expressions here, so that we can report the faulty
index a7d401606d7222aaf3d632d9548361409fa927e4..c73b94879afbd2a9ee7b528f882e140b0ed5cc07 100644 (file)
@@ -414,46 +414,10 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
   return NULL;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-    case 'd':
-      prec = 4;
-      break;
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  /* This loop outputs the LITTLENUMs in REVERSE order.  */
-  for (wordP = words + prec - 1; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP--), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 void
index 4f42c8145d05f730205a10f89336e151bed1042c..515019898ded6f8055f93ef2774d744ae10659dd 100644 (file)
@@ -690,59 +690,10 @@ md_section_align (segment, size)
 }
 
 
-/* Turn a string in input_line_pointer into a floating point
-   constant of type type, and store the appropriate bytes in
-   *litP.  The number of LITTLENUMS emitted is stored in *sizeP.
-   An error message is returned, or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 char *
-md_atof (type, litP, sizeP)
-     char   type;
-     char * litP;
-     int *  sizeP;
+md_atof (int type, char * litP, int * sizeP)
 {
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  LITTLENUM_TYPE   *wordP;
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  /* This loops outputs the LITTLENUMs in REVERSE order; in accord with
-     the littleendianness of the processor.  */
-  for (wordP = words + prec - 1; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP--), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 
index cb09473832c86215a658886aae6529e2a11c373a..7fec21507f52ccaf79ff507396c42d189a646f52 100644 (file)
@@ -671,58 +671,10 @@ md_show_usage (FILE *stream ATTRIBUTE_UNUSED)
   return;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  int i;
-  LITTLENUM_TYPE words[4];
-  char *t;
-
-  switch (type)
-    {
-      case 'f':
-        prec = 2;
-        break;
-
-      case 'd':
-        prec = 4;
-        break;
-
-      default:
-        *sizeP = 0;
-        return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  if (! target_big_endian)
-    {
-      for (i = prec - 1; i >= 0; i--)
-        {
-          md_number_to_chars (litP, (valueT) words[i], 2);
-          litP += 2;
-        }
-    }
-  else
-    {
-      for (i = 0; i < prec; i++)
-        {
-          md_number_to_chars (litP, (valueT) words[i], 2);
-          litP += 2;
-        }
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 /* Apply a fixS (fixup of an instruction or data that we didn't have
index 08656f976857a2f6a90dbbc94b1d231ab0e58d0d..2306290b796d5a256cccfbb483846cfee53c1915 100644 (file)
@@ -463,58 +463,10 @@ md_show_usage (FILE *stream ATTRIBUTE_UNUSED)
   return;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  if (! target_big_endian)
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litP, (valueT) words[i], 2);
-         litP += 2;
-       }
-    }
-  else
-    {
-      for (i = 0; i < prec; i++)
-       {
-         md_number_to_chars (litP, (valueT) words[i], 2);
-         litP += 2;
-       }
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 /* Apply a fixS (fixup of an instruction or data that we didn't have
index 336d9a845363c6ffff0008c1d4f791f4a162cc1f..9d5a92b83fdaaf165770d3bb377afbcbfa35ede5 100644 (file)
@@ -251,44 +251,10 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
   return 0;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-    case 'd':
-      prec = 4;
-      break;
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i], 2);
-      litP += 2;
-    }
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 void
index 4a2efd6dc5b642ddd2b98f32f7f9b66fead76c31..e257f75a3a2903b19f2d548543825c541045c80c 100644 (file)
@@ -285,44 +285,10 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
   return 0;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-    case 'd':
-      prec = 4;
-      break;
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i], 2);
-      litP += 2;
-    }
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 void
index fc4b21093081c856bc0336370c807003cec68c37..19539bf2689cf8996a2c3ef57e05b5e96fc48f85 100644 (file)
@@ -975,69 +975,13 @@ md_assemble (char *str)
 }
 
 /* This is identical to the md_atof in m68k.c.  I think this is right,
-   but I'm not sure.
-
-   Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-/* Dlx will not use it anyway, so I just leave it here for now.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
+   but I'm not sure.  Dlx will not use it anyway, so I just leave it
+   here for now.  */
 
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 /* Write out big-endian.  */
index 8aa6940cb7073188ab4eb544904e481d6a67a934..e947f6915326c33704942f332f5c6f6542c3de66 100644 (file)
@@ -318,58 +318,10 @@ md_number_to_chars (char * buf, valueT val, int n)
   number_to_chars_bigendian (buf, val, n);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message is returned, or NULL on OK.
-*/
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char * litP, int * sizeP)
 {
-  int              i;
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i],
-                         sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 /* Worker function for fr30_is_colon_insn().  */
index dd55c468c792f7620fdc915292aa8b66bff0ecc8..acf71ed21d5d26b7168dcf26b90def310ecd8811 100644 (file)
@@ -1558,61 +1558,10 @@ frv_md_number_to_chars (buf, val, n)
   number_to_chars_bigendian (buf, val, n);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message is returned, or NULL on OK.
-*/
-
-/* Equal to MAX_PRECISION in atof-ieee.c */
-#define MAX_LITTLENUMS 6
-
 char *
-md_atof (type, litP, sizeP)
-     char   type;
-     char * litP;
-     int *  sizeP;
+md_atof (int type, char * litP, int *  sizeP)
 {
-  int              i;
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i],
-                         sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-     
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 bfd_boolean
index 74735d65646065f04bc77ae4d25eb13e0da93096..d0a7554c03af97e5761cf4084d0cf43e99328106 100644 (file)
@@ -2005,64 +2005,12 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
   return 0;
 }
 
-/* Various routines to kill one day */
-/* Equal to MAX_PRECISION in atof-ieee.c */
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
+/* Various routines to kill one day.  */
 
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 \f
 const char *md_shortopts = "";
index 996c0027cf5eabb926171f2d6e2d47ab6745f17e..09581ac16d293783a1d28d01be20ede5cca0d5fa 100644 (file)
@@ -583,8 +583,8 @@ const char EXP_CHARS[] = "eE";
    As in 0f12.456 or 0d1.2345e12.
 
    Be aware that MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT may have to be
-   changed in read.c.  Ideally it shouldn't hae to know abou it at
-   all, but nothing is ideal around here.  */
+   changed in read.c.  Ideally it shouldn't have to know about it
+   at all, but nothing is ideal around here.  */
 const char FLT_CHARS[] = "rRsSfFdDxXpP";
 
 static struct pa_it the_insn;
@@ -1335,61 +1335,10 @@ pa_parse_nullif (char **s)
   return nullif;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message or NULL is returned.  */
-
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 /* Write out big-endian.  */
index c6bedb7cc2072e4987772e873b57e49c5e6a2952..af3b2841e892ebee81482ea95cb337b1923116f9 100644 (file)
@@ -958,6 +958,7 @@ i370_dc (int unused ATTRIBUTE_UNUSED)
       emit_expr (&exp, nbytes);
       break;
     case 'E':  /* 32-bit */
+      type = 'f';
     case 'D':  /* 64-bit */
       md_atof (type, tmp, &nbytes);
       p = frag_more (nbytes);
@@ -2355,53 +2356,12 @@ i370_tc (int ignore ATTRIBUTE_UNUSED)
     }
 }
 \f
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litp, int *sizep)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-    case 'E':
-      type = 'f';
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-      type = 'd';
-      prec = 4;
-      break;
-
-    default:
-      *sizep = 0;
-      return "bad call to md_atof";
-    }
-
   /* 360/370/390 have two float formats: an old, funky 360 single-precision
-   * format, and the ieee format.  Support only the ieee format.  */
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizep = prec * 2;
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litp, (valueT) words[i], 2);
-      litp += 2;
-    }
-
-  return NULL;
+     format, and the ieee format.  Support only the ieee format.  */
+  return ieee_md_atof (type, litp, sizep, TRUE);
 }
 
 /* Write a value out to the object file, using the appropriate
index 0c430eab74ca64aa8ddff4827e00f877343f20aa..ec6ff47bb3eed1b9971b82a1940bcee0180b936b 100644 (file)
@@ -6790,58 +6790,12 @@ md_apply_fix (fixP, valP, seg)
   md_number_to_chars (p, value, fixP->fx_size);
 }
 \f
-#define MAX_LITTLENUMS 6
-
-/* Turn the string pointed to by litP into a floating point constant
-   of type TYPE, and emit the appropriate bytes.  The number of
-   LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
-md_atof (type, litP, sizeP)
-     int type;
-     char *litP;
-     int *sizeP;
+md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 5;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to md_atof ()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  /* This loops outputs the LITTLENUMs in REVERSE order; in accord with
-     the bigendian 386.  */
-  for (wordP = words + prec - 1; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP--), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return 0;
+  /* This outputs the LITTLENUMs in REVERSE order;
+     in accord with the bigendian 386.  */
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 \f
 static char output_invalid_buf[sizeof (unsigned char) * 2 + 6];
index 6358066192743a37de097df62120e11bb8619d08..0d927dec0826147911773cc549cb13b4bfa622ca 100644 (file)
@@ -1010,62 +1010,10 @@ i860_get_expression (char *str)
   return 0;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of
-   type TYPE, and store the appropriate bytes in *LITP.  The number of
-   LITTLENUMS emitted is stored in *SIZEP.  An error message is returned,
-   or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 /* Write out in current endian mode.  */
index d28d909ab50ab54d9ef450c0e1297605f20e3be7..6fd611bdd70f83b5aaf178795691ebb50c80d0b0 100644 (file)
@@ -1710,67 +1710,10 @@ md_number_to_chars (char *buf,
   number_to_chars_littleendian (buf, value, n);
 }
 
-#define MAX_LITTLENUMS 6
-#define LNUM_SIZE      sizeof (LITTLENUM_TYPE)
-
-/* md_atof:    convert ascii to floating point
-
-   Turn a string at input_line_pointer into a floating point constant of type
-   'type', and store the appropriate bytes at *litP.  The number of LITTLENUMS
-   emitted is returned at 'sizeP'.  An error message is returned, or a pointer
-   to an empty message if OK.
-
-   Note we call the i386 floating point routine, rather than complicating
-   things with more files or symbolic links.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  int prec;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-      prec = 4;
-      break;
-
-    case 't':
-    case 'T':
-      prec = 5;
-      type = 'x';              /* That's what atof_ieee() understands.  */
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * LNUM_SIZE;
-
-  /* Output the LITTLENUMs in REVERSE order in accord with i80960
-     word-order.  (Dunno why atof_ieee doesn't do it in the right
-     order in the first place -- probably because it's a hack of
-     atof_m68k.)  */
-  for (wordP = words + prec - 1; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP--), LNUM_SIZE);
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 static void
index b0d92b79b05f8bdb9d4422650cfdb15fc49ef644..92c8ea9875d81d7b523eb376879e92ab729964e8 100644 (file)
@@ -11686,10 +11686,7 @@ tc_gen_reloc (sec, fixp)
 #define MAX_LITTLENUMS 5
 
 char *
-md_atof (type, lit, size)
-     int type;
-     char *lit;
-     int *size;
+md_atof (int type, char *lit, int *size)
 {
   LITTLENUM_TYPE words[MAX_LITTLENUMS];
   char *t;
@@ -11721,7 +11718,7 @@ md_atof (type, lit, size)
 
     default:
       *size = 0;
-      return "Bad call to MD_ATOF()";
+      return _("Unrecognized or unsupported floating point constant");
     }
   t = atof_ieee (input_line_pointer, type, words);
   if (t)
@@ -11738,7 +11735,7 @@ md_atof (type, lit, size)
   else
     *size = prec * sizeof (LITTLENUM_TYPE);
 
-  return 0;
+  return NULL;
 }
 
 /* Handle ia64 specific semantics of the align directive.  */
index 9e322271baf9b7e25d85423d699f87dac63c1b25..37e1211186f64f41565366e99e86f2a12f8f3685 100644 (file)
@@ -332,59 +332,10 @@ md_number_to_chars (char * buf, valueT val, int n)
   number_to_chars_bigendian (buf, val, n);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message is returned, or NULL on
-   OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c  */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char * litP, int *  sizeP)
 {
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  LITTLENUM_TYPE  *wordP;
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  /* This loops outputs the LITTLENUMs in REVERSE order; in accord with
-     the ip2k endianness.  */
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-     
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 
index acfbae34fdc1db6f4dc958fc01cc062125d9dfe4..4c709980fa8a94e04f791a342ded99b71acbd46f 100644 (file)
@@ -725,61 +725,12 @@ md_operand (expressionS * exp)
     gas_cgen_md_operand (exp);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type type, and store the appropriate bytes in *litP.  The number
-   of LITTLENUMS emitted is stored in *sizeP .  An error message is
-   returned, or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char * litP, int * sizeP)
 {
-  int              i;
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i],
-                         sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
-
 bfd_boolean
 iq2000_fix_adjustable (fixS * fixP)
 {
index 08237ee8a4ed80dcfbf8e8fc4c08b372e85df622..2d13a6661c2f8b43c085fa3aed46b2a2a7cdcf72 100644 (file)
@@ -1208,47 +1208,7 @@ md_number_to_chars (char * buf, valueT val, int n)
 char *
 md_atof (int type, char * litP, int * sizeP)
 {
-  int              i;
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i],
-                         sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-     
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 bfd_boolean
index cd0d9e9b6f06f39eb643549da313235e45512480..8b2f4394b1c8d863bdf9915d6291967e976301c3 100644 (file)
@@ -2113,60 +2113,7 @@ md_number_to_chars (char *buf, valueT val, int n)
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int i;
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-      /* FIXME: Some targets allow other format chars for bigger sizes
-         here.  */
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  if (target_big_endian)
-    {
-      for (i = 0; i < prec; i++)
-       {
-         md_number_to_chars (litP, (valueT) words[i],
-                             sizeof (LITTLENUM_TYPE));
-         litP += sizeof (LITTLENUM_TYPE);
-       }
-    }
-  else
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litP, (valueT) words[i],
-                             sizeof (LITTLENUM_TYPE));
-         litP += sizeof (LITTLENUM_TYPE);
-       }
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 void
index b228ea569d4c77687431fd9b3e93015b1e366484..dde6a37b5631728ff297241e1252b17ff6e1da85 100644 (file)
@@ -514,62 +514,10 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
   return 0;
 }
 
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 valueT
index 78f6a9aa63bef512a261a51fa4a6bbf505a0d9d1..11a86b9598aa267f63cf168dbdfcdbb98260fb44 100644 (file)
@@ -4681,63 +4681,10 @@ m68k_mri_mode_change (int on)
     }
 }
 
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 void
index 4cf72ebdd93a8093d2825b32c3ceca94b7268186..58c5c300a3a7c40ed286cfd4b5e9a2dab701f260 100644 (file)
@@ -379,51 +379,13 @@ md_estimate_size_before_relax (fragS *fragP, segT segment)
   return 0;
 }
 
-/* Equal to MAX_PRECISION in atof-ieee.c */
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant of type 
-   TYPE, and store the appropriate bytes in *LITP.  The number of LITTLENUMS
-   emitted is stored in *SIZEP.  An error message is returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char * litP, int * sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 2;
-      /* The size of Double has been changed to 2 words ie 32 bits.  */
-      /* prec = 4; */
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  for (i = prec - 1; i >= 0; i--)
-    {
-      md_number_to_chars (litP, (valueT) words[i], 2);
-      litP += 2;
-    }
-
-  return NULL;
+  if (type == 'd')
+    /* The size of Double has been changed to 2 words ie 32 bits.  */
+    type = 'f';
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 void
index 0604ad9042453c6e5445e61a73dff299f217951c..73307b13e1e9a4b2a9079ba463b73d7c09891fdb 100644 (file)
@@ -1616,77 +1616,11 @@ md_mcore_end (void)
 }
 
 /* Various routines to kill one day.  */
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP.  An error message is returned, or NULL on OK.  */
 
 char *
-md_atof (int type,  char * litP, int * sizeP)
+md_atof (int type, char * litP, int * sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  int    i;
-  char * t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_NTOF()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  if (! target_big_endian)
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litP, (valueT) words[i],
-                             sizeof (LITTLENUM_TYPE));
-         litP += sizeof (LITTLENUM_TYPE);
-       }
-    }
-  else
-    for (i = 0; i < prec; i++)
-      {
-       md_number_to_chars (litP, (valueT) words[i],
-                           sizeof (LITTLENUM_TYPE));
-       litP += sizeof (LITTLENUM_TYPE);
-      }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 \f
 const char * md_shortopts = "";
index 09acbc8fc7da63b558dc84ca31245823e3b07567..26080192c999e1f4a90cfdc1bdd66e2dc2202674 100644 (file)
@@ -1676,60 +1676,12 @@ md_number_to_chars (char *buf, valueT val, int n)
     number_to_chars_littleendian (buf, val, n);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type type, and store the appropriate bytes in *litP.  The number
-   of LITTLENUMS emitted is stored in *sizeP .  An error message is
-   returned, or NULL on OK. */
-
-/* Equal to MAX_PRECISION in atof-ieee.c */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int              i;
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-    default:
-      *sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i],
-                         sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
-
 bfd_boolean
 mep_fix_adjustable (fixS *fixP)
 {
index 49e02ebd3403890990d82be2582eb80d87a18071..722c47ec48db8cea9181879e824e56578aaeee0e 100644 (file)
@@ -10761,58 +10761,10 @@ my_getExpression (expressionS *ep, char *str)
     S_SET_VALUE (ep->X_add_symbol, val + 1);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  if (! target_big_endian)
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litP, words[i], 2);
-         litP += 2;
-       }
-    }
-  else
-    {
-      for (i = 0; i < prec; i++)
-       {
-         md_number_to_chars (litP, words[i], 2);
-         litP += 2;
-       }
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 void
index b3b04586ff291ac6f0d0d530059396938e7c6521..056298b7cecdfdc82930664c0dba6243110798f1 100644 (file)
@@ -2239,42 +2239,14 @@ md_estimate_size_before_relax (fragS *fragP, segT segment)
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-      /* FIXME: Having 'f' in mmix_flt_chars (and here) makes it
-        problematic to also have a forward reference in an expression.
-        The testsuite wants it, and it's customary.
-        We'll deal with the real problems when they come; we share the
-        problem with most other ports.  */
-    case 'f':
-    case 'r':
-      prec = 2;
-      break;
-    case 'd':
-      prec = 4;
-      break;
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i], 2);
-      litP += 2;
-    }
-  return NULL;
+  if (type == 'r')
+    type = 'f';
+  /* FIXME: Having 'f' in mmix_flt_chars (and here) makes it
+     problematic to also have a forward reference in an expression.
+     The testsuite wants it, and it's customary.
+     We'll deal with the real problems when they come; we share the
+     problem with most other ports.  */
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 /* Convert variable-sized frags into one or more fixups.  */
index 3be5298ae37101d1797b1a62e3c343d272dc40c1..fa78d53da3015318c88721ae607b70621c4098ba 100644 (file)
@@ -321,39 +321,7 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
 char *
 md_atof (int type, char *litp, int *sizep)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizep = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizep = prec * 2;
-
-  for (i = prec - 1; i >= 0; i--)
-    {
-      md_number_to_chars (litp, (valueT) words[i], 2);
-      litp += 2;
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litp, sizep, FALSE);
 }
 
 void
index 64d1f6dd38d5766b7997f809201a5c0644a0cbf7..9b2441fa735084e03b7d4af9aa78a479340cb097 100644 (file)
@@ -711,44 +711,9 @@ md_undefined_symbol (name)
 }
 
 char *
-md_atof (type, litp, sizep)
-     int type;
-     char *litp;
-     int *sizep;
+md_atof (int type, char *litp, int *sizep)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizep = 0;
-      return "bad call to md_atof";
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizep = prec * 2;
-
-  for (i = prec - 1; i >= 0; i--)
-    {
-      md_number_to_chars (litp, (valueT) words[i], 2);
-      litp += 2;
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litp, sizep, FALSE);
 }
 
 void
index 27cbe38ecbc73c53eb04a535d34ec74e1326c7ca..75e7eab9c066ab785c947310b732dccd5051f872 100644 (file)
@@ -842,46 +842,10 @@ extract_cmd (char * from, char * to, int limit)
   return from;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char * litP, int * sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-    case 'd':
-      prec = 4;
-      break;
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  /* This loop outputs the LITTLENUMs in REVERSE order.  */
-  for (wordP = words + prec - 1; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP--), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 void
index 2c9055b05a845ad8a0f1f0aa3c7f6dd6631a7b03..3583b76019a87700f625bfe5d95f7c84770dbcb3 100644 (file)
@@ -432,61 +432,10 @@ md_number_to_chars (char * buf, valueT val, int n)
   number_to_chars_bigendian (buf, val, n);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message is returned, or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 char *
-md_atof (type, litP, sizeP)
-     char   type;
-     char * litP;
-     int *  sizeP;
+md_atof (int type, char * litP, int * sizeP)
 {
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  LITTLENUM_TYPE * wordP;
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  /* This loops outputs the LITTLENUMs in REVERSE order;
-     in accord with the mt endianness.  */
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-     
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 /* See whether we need to force a relocation into the output file.  */
index a1e69554706d087e61ac92afa1c7566a1f3d5adb..66aeae87178c16d78bb907a9e5f3924131991a7a 100644 (file)
@@ -1913,9 +1913,6 @@ md_begin (void)
   freeptr_static = (char *) malloc (PRIVATE_SIZE);
 }
 
-/* Must be equal to MAX_PRECISON in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 /* Turn the string pointed to by litP into a floating point constant
    of type TYPE, and emit the appropriate bytes.  The number of
    LITTLENUMS emitted is stored in *SIZEP.  An error message is
@@ -1924,38 +1921,7 @@ md_begin (void)
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (wordP = words + prec; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*--wordP), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 \f
 int
index f8ec6844589cd0e888dda5eaa2a30ebde55711af..49189386d2c42e296cacaafb0aae84d09597bf85 100644 (file)
@@ -347,47 +347,7 @@ md_number_to_chars (char * buf, valueT val, int n)
 char *
 md_atof (int type, char * litP, int *  sizeP)
 {
-  int              i;
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litP, (valueT) words[i],
-                         sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 bfd_boolean
index 3d8d39c0e0746c9a424aabec64295e1c367bcb3b..d91faf90cae3dea90cd2cb86274ca7c46aac3efe 100644 (file)
@@ -530,69 +530,10 @@ machine_ip (char *str)
     }
 }
 
-/* This is identical to the md_atof in m68k.c.  I think this is right,
-   but I'm not sure.
-
-   Turn a string in input_line_pointer into a floating point constant
-   of type type, and store the appropriate bytes in *litP.  The number
-   of LITTLENUMS emitted is stored in *sizeP .  An error message is
-   returned, or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char * litP, int *  sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 /* Write out big-endian.  */
index 7624f60d527656a242754733d11fc9cf4839e9b7..64e162b75b3b072b78cdf46020cd909a1985fc93 100644 (file)
@@ -1451,3 +1451,9 @@ pseudo_even (int c ATTRIBUTE_UNUSED)
   frag_align (alignment, 0, 1);
   record_alignment (now_seg, alignment);
 }
+
+char *
+md_atof (int type, char * litP, int * sizeP)
+{
+  return vax_md_atof (type, litP, sizeP);
+}
index 1cbd83ed8cc034590ddf4ffba758b7eebc5f91ae..05e19d770dda5998fdbab0a161d1e818aa56aef5 100644 (file)
@@ -313,58 +313,10 @@ md_assemble (char *str)
 
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type type, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP .  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  if (!target_big_endian)
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litP, (valueT) words[i], 2);
-         litP += 2;
-       }
-    }
-  else
-    {
-      for (i = 0; i < prec; i++)
-       {
-         md_number_to_chars (litP, (valueT) words[i], 2);
-         litP += 2;
-       }
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 \f
 const char *md_shortopts = "";
index fc8b9a07cc67683f66e61ba264641fc312517920..713d25be8f67a652ef0cf2c160f3342e1347b013 100644 (file)
@@ -5220,58 +5220,10 @@ ppc_frob_section (asection *sec)
 
 #endif /* OBJ_XCOFF */
 \f
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
 char *
 md_atof (int type, char *litp, int *sizep)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizep = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizep = prec * 2;
-
-  if (target_big_endian)
-    {
-      for (i = 0; i < prec; i++)
-       {
-         md_number_to_chars (litp, (valueT) words[i], 2);
-         litp += 2;
-       }
-    }
-  else
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litp, (valueT) words[i], 2);
-         litp += 2;
-       }
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litp, sizep, target_big_endian);
 }
 
 /* Write a value out to the object file, using the appropriate
index deb7307dbe47d97ec50df68c22466d72f12e5fe8..ac93faf6c5d8e82aa701df7fceb80a205188bd4e 100644 (file)
@@ -1769,50 +1769,10 @@ s390_literals (ignore)
   lpe_count = 0;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type type, and store the appropriate bytes in *litp.  The number
-   of LITTLENUMS emitted is stored in *sizep .  An error message is
-   returned, or NULL on OK.  */
-
 char *
-md_atof (type, litp, sizep)
-     int type;
-     char *litp;
-     int *sizep;
+md_atof (int type, char *litp, int *sizep)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizep = 0;
-      return "bad call to md_atof";
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizep = prec * 2;
-
-  for (i = 0; i < prec; i++)
-    {
-      md_number_to_chars (litp, (valueT) words[i], 2);
-      litp += 2;
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litp, sizep, TRUE);
 }
 
 /* Align a section (I don't know why this is machine dependent).  */
index 15cc625c656e63f0b8dac0fd78377c8739a2dc0f..5c12bd56726c6974b979e2bca7d4342a8b71cc3c 100644 (file)
@@ -181,11 +181,6 @@ struct score_it dependency_vector[SCORE7_PIPELINE];
 /* Relax will need some padding for alignment.  */
 #define RELAX_PAD_BYTE 3
 
-/* Number of littlenums required to hold an extended precision number.  For md_atof.  */
-#define NUM_FLOAT_VALS 8
-#define MAX_LITTLENUMS 6
-LITTLENUM_TYPE fp_values[NUM_FLOAT_VALS][MAX_LITTLENUMS];
-
 /* Structure for a hash table entry for a register.  */
 struct reg_entry
 {
@@ -4704,75 +4699,10 @@ md_chars_to_number (char *buf, int n)
   return result;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.
-
-   Note that fp constants aren't represent in the normal way on the ARM.
-   In big endian mode, things are as expected.  However, in little endian
-   mode fp constants are big-endian word-wise, and little-endian byte-wise
-   within the words.  For example, (double) 1.1 in big endian mode is
-   the byte sequence 3f f1 99 99 99 99 99 9a, and in little endian mode is
-   the byte sequence 99 99 f1 3f 9a 99 99 99.  */
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-    case 'x':
-    case 'X':
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-    default:
-      *sizeP = 0;
-      return _("bad call to MD_ATOF()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * 2;
-
-  if (target_big_endian)
-    {
-      for (i = 0; i < prec; i++)
-        {
-          md_number_to_chars (litP, (valueT) words[i], 2);
-          litP += 2;
-        }
-    }
-  else
-    {
-      for (i = 0; i < prec; i += 2)
-        {
-          md_number_to_chars (litP, (valueT) words[i + 1], 2);
-          md_number_to_chars (litP + 2, (valueT) words[i], 2);
-          litP += 4;
-        }
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 /* Return true if the given symbol should be considered local for PIC.  */
index 677d1c0aea346fd48de58aaad651ae5bcb5aa1c5..0d098d2115d3022da43da15c8083c1f9d95bd7d2 100644 (file)
@@ -3045,61 +3045,11 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
 }
 
 /* Various routines to kill one day.  */
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP .  An error message is
-   returned, or NULL on OK.  */
 
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  if (! target_big_endian)
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litP, (valueT) words[i], 2);
-         litP += 2;
-       }
-    }
-  else
-    {
-      for (i = 0; i < prec; i++)
-       {
-         md_number_to_chars (litP, (valueT) words[i], 2);
-         litP += 2;
-       }
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 /* Handle the .uses pseudo-op.  This pseudo-op is used just before a
index 3b07fecfd81baf3f61e8e77ed11d6abad4b25051..e81b1f08654d6af73b54819166108fe8f1d9142e 100644 (file)
@@ -2946,83 +2946,10 @@ output_insn (insn, the_insn)
 #endif
 }
 \f
-/* This is identical to the md_atof in m68k.c.  I think this is right,
-   but I'm not sure.
-
-   Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 char *
-md_atof (type, litP, sizeP)
-     char type;
-     char *litP;
-     int *sizeP;
+md_atof (int type, char *litP, int *sizeP)
 {
-  int i, prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  if (target_big_endian)
-    {
-      for (i = 0; i < prec; i++)
-       {
-         md_number_to_chars (litP, (valueT) words[i],
-                             sizeof (LITTLENUM_TYPE));
-         litP += sizeof (LITTLENUM_TYPE);
-       }
-    }
-  else
-    {
-      for (i = prec - 1; i >= 0; i--)
-       {
-         md_number_to_chars (litP, (valueT) words[i],
-                             sizeof (LITTLENUM_TYPE));
-         litP += sizeof (LITTLENUM_TYPE);
-       }
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 /* Write a value out to the object file, using the appropriate
index 924c6fc20f44f55716d2c63be08fd32a128e8730..c5a44cedb9cdf9021ac7e90a84e33c5d7cf7b447 100644 (file)
@@ -699,61 +699,10 @@ get_imm (const char *param, struct spu_insn *insn, int arg)
   return param;
 }
 
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message is returned, or NULL on OK.
- */
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 #ifndef WORKING_DOT_WORD
index a86ade0353f51ab14f9b85575e2ad1271a728d5e..a4b88bd5a2c4771d8013c4a9ce3dceea840c6261 100644 (file)
@@ -1258,7 +1258,7 @@ md_atof (int what_statement_type,
 
     default:
       *sizeP = 0;
-      return "Bad call to MD_ATOF()";
+      return _("Unrecognized or unsupported floating point constant");
     }
 
   if (float_value == 0.0)
@@ -1349,7 +1349,7 @@ md_atof (int what_statement_type,
     }
   md_number_to_chars (literalP, value, prec);
   *sizeP = prec;
-  return 0;
+  return NULL;
 }
 
 void
index 5898702f969caf126826742979784fa6c7d45d7d..3edabc2485a41ea4283f020804fe185ec135f56a 100644 (file)
@@ -2660,14 +2660,11 @@ tic4x_cleanup ()
 
 /* Turn a string in input_line_pointer into a floating point constant
    of type type, and store the appropriate bytes in *litP.  The number
-   of LITTLENUMS emitted is stored in *sizeP.  An error message is
+   of chars emitted is stored in *sizeP.  An error message is
    returned, or NULL on OK.  */
 
 char *
-md_atof (type, litP, sizeP)
-     int type;
-     char *litP;
-     int *sizeP;
+md_atof (int type, char *litP, int *sizeP)
 {
   int prec;
   int ieee;
@@ -2677,36 +2674,36 @@ md_atof (type, litP, sizeP)
 
   switch (type)
     {
-    case 's':                  /* .single */
+    case 's':          /* .single  */
     case 'S':
       ieee = 0;
       prec = 1;
       break;
 
-    case 'd':                  /* .double */
+    case 'd':          /* .double  */
     case 'D':
-    case 'f':                  /* .float or .single */
+    case 'f':          /* .float  */
     case 'F':
       ieee = 0;
-      prec = 2;                        /* 1 32-bit word */
+      prec = 2;                /* 1 32-bit word */
       break;
 
-    case 'i':                  /* .ieee */
+    case 'i':          /* .ieee */
     case 'I':
       prec = 2;
       ieee = 1;
-      type = 'f';  /* Rewrite type to be usable by atof_ieee() */
+      type = 'f';  /* Rewrite type to be usable by atof_ieee() */
       break;
 
-    case 'e':                  /* .ldouble */
+    case 'e':          /* .ldouble */
     case 'E':
-      prec = 4;                        /* 2 32-bit words */
+      prec = 4;                /* 2 32-bit words */
       ieee = 0;
       break;
 
     default:
       *sizeP = 0;
-      return "Bad call to md_atof()";
+      return _("Unrecognized or unsupported floating point constant");
     }
 
   if (ieee)
@@ -2721,10 +2718,10 @@ md_atof (type, litP, sizeP)
      little endian byte order.  */
   /* SES: However it is required to put the words (32-bits) out in the
      correct order, hence we write 2 and 2 littlenums in little endian
-     order, while we keep the original order on successive words. */
-  for(wordP = words; wordP<(words+prec) ; wordP+=2)
+     order, while we keep the original order on successive words.  */
+  for (wordP = words; wordP<(words+prec) ; wordP+=2)
     {
-      if (wordP<(words+prec-1)) /* Dump wordP[1] (if we have one) */
+      if (wordP < (words + prec - 1)) /* Dump wordP[1] (if we have one).  */
         {
           md_number_to_chars (litP, (valueT) (wordP[1]),
                               sizeof (LITTLENUM_TYPE));
@@ -2736,7 +2733,7 @@ md_atof (type, litP, sizeP)
                           sizeof (LITTLENUM_TYPE));
       litP += sizeof (LITTLENUM_TYPE);
     }
-  return 0;
+  return NULL;
 }
 
 void 
index 0fe8159a051aa3eabc806c568ce56342b18a40e5..f7cf042654021b2df8e09e5b578e2b78e00a3643 100644 (file)
@@ -5383,30 +5383,11 @@ tic54x_parse_name (name, exp)
 }
 
 char *
-md_atof (type, literalP, sizeP)
-     int type;
-     char *literalP;
-     int *sizeP;
-{
-#define MAX_LITTLENUMS 2
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *word;
-  /* Only one precision on the c54x.  */
-  int prec = 2;
-  char *t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = 4;
-
+md_atof (int type, char *literalP, int *sizeP)
+{
   /* Target data is little-endian, but floats are stored
      big-"word"ian.  ugh.  */
-  for (word = words; prec--;)
-    {
-      md_number_to_chars (literalP, (long) (*word++), sizeof (LITTLENUM_TYPE));
-      literalP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, literalP, sizeP, TRUE);
 }
 
 arelent *
index 581780038147fa4e433757d104824ff2272454e5..a99bad9d9cb3da54b8fe66ba755855fe984a1c31 100644 (file)
@@ -1178,39 +1178,7 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
 char *
 md_atof (int type, char *litp, int *sizep)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizep = 0;
-      return _("bad call to md_atof");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizep = prec * 2;
-
-  for (i = prec - 1; i >= 0; i--)
-    {
-      md_number_to_chars (litp, (valueT) words[i], 2);
-      litp += 2;
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litp, sizep, FALSE);
 }
 
 /* Very gross.  */
index 924f659ef85e9ee5e455208acce3fc10b8f2edb6..980f759927c22a30f0afaae4880084f417a39a99 100644 (file)
@@ -3405,3 +3405,9 @@ vax_cons_fix_new (fragS *frag, int where, unsigned int nbytes, expressionS *exp)
   fix_new_exp (frag, where, (int) nbytes, exp, 0, r);
   vax_cons_special_reloc = NULL;
 }
+
+char *
+md_atof (int type, char * litP, int * sizeP)
+{
+  return vax_md_atof (type, litP, sizeP);
+}
index 6869375f3ef50ed9e72afd721355e71f33cdde6b..9224f5c16f608c471e5da878e2f8f14dca58f3f7 100644 (file)
@@ -218,59 +218,10 @@ md_parse_option (int c ATTRIBUTE_UNUSED,
   return 0;
 }
 
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int i;
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-      /* FIXME: Some targets allow other format chars for bigger sizes
-         here.  */
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-   for (i = prec - 1; i >= 0; i--)
-     {
-       md_number_to_chars (litP, (valueT) words[i],
-                          sizeof (LITTLENUM_TYPE));
-       litP += sizeof (LITTLENUM_TYPE);
-     }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 valueT
index cc09df9320c48962b6806d7c8cc872cade12557c..6e96584aec439ffc9e7fb4b298c1f5897584016c 100644 (file)
@@ -596,54 +596,8 @@ md_number_to_chars (char * buf, valueT val, int n)
   number_to_chars_littleendian (buf, val, n);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message is returned, or NULL on OK.
-*/
-
-/* Equal to MAX_PRECISION in atof-ieee.c */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char * litP, int * sizeP)
 {
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  LITTLENUM_TYPE   *wordP;
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  /* This loops outputs the LITTLENUMs in REVERSE order; in accord with
-     the littleendianness of the processor.  */
-  for (wordP = words + prec - 1; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP--), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
index aef5fc9702c3d8f5442ea9e9df73bfd42186a238..1882572a1a8828c110cc9ab7e7254d3554a908d7 100644 (file)
@@ -5738,43 +5738,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[4];
-  char *t;
-  int i;
-
-  switch (type)
-    {
-    case 'f':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-
-    default:
-      *sizeP = 0;
-      return "bad call to md_atof";
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * 2;
-
-  for (i = prec - 1; i >= 0; i--)
-    {
-      int idx = i;
-      if (target_big_endian)
-       idx = (prec - 1 - i);
-
-      md_number_to_chars (litP, (valueT) words[idx], 2);
-      litP += 2;
-    }
-
-  return NULL;
+  return ieee_md_atof (type, litP, sizeP, target_big_endian);
 }
 
 
index 2b00f3409f66a1590a62744564ac564d4106537c..ee314023e657fc76ec4bbeb2f521d26a7f2457aa 100644 (file)
@@ -1285,63 +1285,11 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
 }
 
 /* Various routines to kill one day.  */
-/* Equal to MAX_PRECISION in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
-/* Turn a string in input_line_pointer into a floating point constant
-   of type TYPE, and store the appropriate bytes in *LITP.  The number
-   of LITTLENUMS emitted is stored in *SIZEP.  An error message is
-   returned, or NULL on OK.  */
 
 char *
 md_atof (int type, char *litP, int *sizeP)
 {
-  int prec;
-  LITTLENUM_TYPE words[MAX_LITTLENUMS];
-  LITTLENUM_TYPE *wordP;
-  char *t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-    case 'x':
-    case 'X':
-      prec = 6;
-      break;
-
-    case 'p':
-    case 'P':
-      prec = 6;
-      break;
-
-    default:
-      *sizeP = 0;
-      return _("Bad call to MD_ATOF()");
-    }
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-
-  *sizeP = prec * sizeof (LITTLENUM_TYPE);
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 \f
 const char *md_shortopts = "z:";
index a97ead386c58cc01a9a6e47f34d0425df341171e..ff1df989e5367b8691b2d98e525e9b75e623c3a5 100644 (file)
@@ -1144,17 +1144,25 @@ simple macro.
 @cindex md_atof
 This function is called to convert an ASCII string into a floating point value
 in format used by the CPU.  It takes three arguments.  The first is @var{type}
-which is a byte describing the type of floating point number to be created.
-Possible values are @var{'f'} or @var{'s'} for single precision, @var{'d'} or
-@var{'r'} for double precision and @var{'x'} or @var{'p'} for extended
-precision.  Either lower or upper case versions of these letters can be used.
+which is a byte describing the type of floating point number to be created.  It
+is one of the characters defined in the @xref{FLT_CHARS} macro.  Possible
+values are @var{'f'} or @var{'s'} for single precision, @var{'d'} or @var{'r'}
+for double precision and @var{'x'} or @var{'p'} for extended precision.  Either
+lower or upper case versions of these letters can be used.  Note: some targets
+do not support all of these types, and some targets may also support other
+types not mentioned here.
 
 The second parameter is @var{litP} which is a pointer to a byte array where the
-converted value should be stored.  The third argument is @var{sizeP}, which is
-a pointer to a integer that should be filled in with the number of
-@var{LITTLENUM}s emitted into the byte array.  (@var{LITTLENUM} is defined in
-gas/bignum.h).  The function should return NULL upon success or an error string
-upon failure.
+converted value should be stored.  The value is converted into LITTLENUMs and
+is stored in the target's endian-ness order.  (@var{LITTLENUM} is defined in
+gas/bignum.h).  Single precision values occupy 2 littlenums.  Double precision
+values occupy 4 littlenums and extended precision values occupy either 5 or 6
+littlenums, depending upon the target.
+
+The third argument is @var{sizeP}, which is a pointer to a integer that should
+be filled in with the number of chars emitted into the byte array.
+
+The function should return NULL upon success or an error string upon failure.
 
 @item TC_LARGEST_EXPONENT_IS_NORMAL
 @cindex TC_LARGEST_EXPONENT_IS_NORMAL (@var{precision})
index caf4419e8e8e32f15e22fe58b1bf6e35457cc9cd..e8695725673a85f2c3cfafc8fc5011660ed1c984 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2007-10-11 15:52+0100\n"
+"POT-Creation-Date: 2007-10-17 17:39+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -440,27 +440,27 @@ msgid "failed sanity check"
 msgstr ""
 
 #: cgen.c:113 config/tc-alpha.c:1926 config/tc-alpha.c:1950
-#: config/tc-arc.c:1721 config/tc-d10v.c:584 config/tc-d30v.c:572
-#: config/tc-mn10200.c:1132 config/tc-mn10300.c:1892 config/tc-ppc.c:2424
-#: config/tc-ppc.c:2641 config/tc-ppc.c:2653 config/tc-s390.c:1231
-#: config/tc-s390.c:1331 config/tc-s390.c:1460 config/tc-v850.c:1762
-#: config/tc-v850.c:1785 config/tc-v850.c:1988
+#: config/tc-arc.c:1681 config/tc-d10v.c:550 config/tc-d30v.c:538
+#: config/tc-mn10200.c:1100 config/tc-mn10300.c:1857 config/tc-ppc.c:2436
+#: config/tc-ppc.c:2653 config/tc-ppc.c:2665 config/tc-s390.c:1231
+#: config/tc-s390.c:1331 config/tc-s390.c:1460 config/tc-v850.c:1730
+#: config/tc-v850.c:1753 config/tc-v850.c:1956
 msgid "too many fixups"
 msgstr ""
 
-#: cgen.c:400 cgen.c:420 config/tc-arc.c:1702 config/tc-d10v.c:495
-#: config/tc-d30v.c:487 config/tc-mn10200.c:1074 config/tc-mn10300.c:1816
-#: config/tc-ppc.c:2456 config/tc-s390.c:1219 config/tc-v850.c:1964
+#: cgen.c:400 cgen.c:420 config/tc-arc.c:1662 config/tc-d10v.c:461
+#: config/tc-d30v.c:453 config/tc-mn10200.c:1042 config/tc-mn10300.c:1781
+#: config/tc-ppc.c:2468 config/tc-s390.c:1219 config/tc-v850.c:1932
 #: config/tc-z80.c:422
 msgid "illegal operand"
 msgstr ""
 
-#: cgen.c:424 config/tc-arc.c:1704 config/tc-avr.c:546 config/tc-d10v.c:497
-#: config/tc-d30v.c:489 config/tc-h8300.c:449 config/tc-mcore.c:662
-#: config/tc-mmix.c:488 config/tc-mn10200.c:1077 config/tc-mn10300.c:1819
-#: config/tc-msp430.c:452 config/tc-or32.c:307 config/tc-ppc.c:2458
+#: cgen.c:424 config/tc-arc.c:1664 config/tc-avr.c:512 config/tc-d10v.c:463
+#: config/tc-d30v.c:455 config/tc-h8300.c:449 config/tc-mcore.c:662
+#: config/tc-mmix.c:488 config/tc-mn10200.c:1045 config/tc-mn10300.c:1784
+#: config/tc-msp430.c:452 config/tc-or32.c:307 config/tc-ppc.c:2470
 #: config/tc-s390.c:1221 config/tc-sh64.c:2213 config/tc-sh.c:1359
-#: config/tc-v850.c:1967 config/tc-z80.c:575 config/tc-z8k.c:350
+#: config/tc-v850.c:1935 config/tc-z80.c:575 config/tc-z8k.c:350
 msgid "missing operand"
 msgstr ""
 
@@ -473,20 +473,20 @@ msgid "operand mask overflow"
 msgstr ""
 
 #. We can't actually support subtracting a symbol.
-#: cgen.c:884 config/tc-arc.c:1287 config/tc-arm.c:1522 config/tc-arm.c:8151
-#: config/tc-arm.c:8202 config/tc-arm.c:8435 config/tc-arm.c:9158
-#: config/tc-arm.c:9962 config/tc-arm.c:9990 config/tc-arm.c:10247
-#: config/tc-arm.c:10264 config/tc-arm.c:10386 config/tc-avr.c:1056
-#: config/tc-cris.c:3984 config/tc-d10v.c:1536 config/tc-d30v.c:1937
+#: cgen.c:884 config/tc-arc.c:1247 config/tc-arm.c:1524 config/tc-arm.c:8153
+#: config/tc-arm.c:8204 config/tc-arm.c:8437 config/tc-arm.c:9160
+#: config/tc-arm.c:9964 config/tc-arm.c:9992 config/tc-arm.c:10249
+#: config/tc-arm.c:10266 config/tc-arm.c:10388 config/tc-avr.c:1022
+#: config/tc-cris.c:3984 config/tc-d10v.c:1502 config/tc-d30v.c:1903
 #: config/tc-mips.c:4184 config/tc-mips.c:5308 config/tc-mips.c:6247
-#: config/tc-mips.c:6839 config/tc-msp430.c:1973 config/tc-ppc.c:5615
-#: config/tc-spu.c:957 config/tc-spu.c:981 config/tc-v850.c:2303
-#: config/tc-xstormy16.c:484 config/tc-xtensa.c:5613 config/tc-xtensa.c:11575
+#: config/tc-mips.c:6839 config/tc-msp430.c:1937 config/tc-ppc.c:5579
+#: config/tc-spu.c:906 config/tc-spu.c:930 config/tc-v850.c:2271
+#: config/tc-xstormy16.c:484 config/tc-xtensa.c:5613 config/tc-xtensa.c:11539
 msgid "expression too complex"
 msgstr ""
 
-#: cgen.c:978 config/tc-arc.c:1348 config/tc-ppc.c:5739 config/tc-s390.c:2093
-#: config/tc-v850.c:2343 config/tc-xstormy16.c:538
+#: cgen.c:978 config/tc-arc.c:1308 config/tc-ppc.c:5703 config/tc-s390.c:2053
+#: config/tc-v850.c:2311 config/tc-xstormy16.c:538
 msgid "unresolved expression that must be resolved"
 msgstr ""
 
@@ -567,12 +567,9 @@ msgstr ""
 msgid "cannot create floating-point number"
 msgstr ""
 
-#: config/atof-vax.c:450 config/tc-bfin.c:728 config/tc-fr30.c:357
-#: config/tc-frv.c:1600 config/tc-i960.c:1754 config/tc-ip2k.c:371
-#: config/tc-iq2000.c:764 config/tc-m32c.c:1236 config/tc-m32r.c:2142
-#: config/tc-mep.c:1714 config/tc-mt.c:473 config/tc-openrisc.c:375
-#: config/tc-xc16x.c:258 config/tc-xstormy16.c:631
-msgid "Bad call to md_atof()"
+#: config/atof-ieee.c:784 config/atof-vax.c:450 config/tc-arm.c:919
+#: config/tc-ia64.c:11721 config/tc-tic30.c:1261 config/tc-tic4x.c:2706
+msgid "Unrecognized or unsupported floating point constant"
 msgstr ""
 
 #: config/obj-aout.c:85
@@ -684,12 +681,12 @@ msgstr ""
 msgid "unsupported section attribute '%c'"
 msgstr ""
 
-#: config/obj-coff.c:1594 config/tc-ppc.c:4647
+#: config/obj-coff.c:1594 config/tc-ppc.c:4659
 #, c-format
 msgid "unknown section attribute '%c'"
 msgstr ""
 
-#: config/obj-coff.c:1622 config/tc-ppc.c:4665 config/tc-tic54x.c:4285
+#: config/obj-coff.c:1622 config/tc-ppc.c:4677 config/tc-tic54x.c:4285
 #: read.c:2754
 #, c-format
 msgid "error setting flags for \"%s\": %s"
@@ -713,7 +710,7 @@ msgstr ""
 msgid "Can't set register masks"
 msgstr ""
 
-#: config/obj-elf.c:323 config/tc-sparc.c:4053 config/tc-v850.c:450
+#: config/obj-elf.c:323 config/tc-sparc.c:3980 config/tc-v850.c:450
 #, c-format
 msgid "bad .common segment %s"
 msgstr ""
@@ -764,116 +761,116 @@ msgstr ""
 msgid "missing name"
 msgstr ""
 
-#: config/obj-elf.c:973
+#: config/obj-elf.c:978
 msgid "invalid merge entity size"
 msgstr ""
 
-#: config/obj-elf.c:980
+#: config/obj-elf.c:985
 msgid "entity size for SHF_MERGE not specified"
 msgstr ""
 
-#: config/obj-elf.c:1000
+#: config/obj-elf.c:1005
 msgid "group name for SHF_GROUP not specified"
 msgstr ""
 
-#: config/obj-elf.c:1013
+#: config/obj-elf.c:1018
 msgid "character following name is not '#'"
 msgstr ""
 
-#: config/obj-elf.c:1128
+#: config/obj-elf.c:1136
 msgid ".previous without corresponding .section; ignored"
 msgstr ""
 
-#: config/obj-elf.c:1154
+#: config/obj-elf.c:1162
 msgid ".popsection without corresponding .pushsection; ignored"
 msgstr ""
 
-#: config/obj-elf.c:1206
+#: config/obj-elf.c:1214
 msgid "expected comma after name in .symver"
 msgstr ""
 
-#: config/obj-elf.c:1230
+#: config/obj-elf.c:1238
 #, c-format
 msgid "missing version name in `%s' for symbol `%s'"
 msgstr ""
 
-#: config/obj-elf.c:1241
+#: config/obj-elf.c:1249
 #, c-format
 msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
 msgstr ""
 
-#: config/obj-elf.c:1278
+#: config/obj-elf.c:1286
 #, c-format
 msgid "expected `%s' to have already been set for .vtable_inherit"
 msgstr ""
 
-#: config/obj-elf.c:1288
+#: config/obj-elf.c:1296
 msgid "expected comma after name in .vtable_inherit"
 msgstr ""
 
-#: config/obj-elf.c:1348
+#: config/obj-elf.c:1356
 msgid "expected comma after name in .vtable_entry"
 msgstr ""
 
-#: config/obj-elf.c:1471
+#: config/obj-elf.c:1479
 msgid "expected quoted string"
 msgstr ""
 
-#: config/obj-elf.c:1491
+#: config/obj-elf.c:1499
 #, c-format
 msgid "expected comma after name `%s' in .size directive"
 msgstr ""
 
-#: config/obj-elf.c:1500
+#: config/obj-elf.c:1508
 msgid "missing expression in .size directive"
 msgstr ""
 
-#: config/obj-elf.c:1599
+#: config/obj-elf.c:1607
 #, c-format
 msgid "symbol '%s' is already defined"
 msgstr ""
 
-#: config/obj-elf.c:1614
+#: config/obj-elf.c:1622
 #, c-format
 msgid "unrecognized symbol type \"%s\""
 msgstr ""
 
-#: config/obj-elf.c:1785
+#: config/obj-elf.c:1793
 msgid ".size expression too complicated to fix up"
 msgstr ""
 
-#: config/obj-elf.c:1817
+#: config/obj-elf.c:1825
 #, c-format
 msgid ""
 "invalid attempt to declare external version name as default in symbol `%s'"
 msgstr ""
 
-#: config/obj-elf.c:1878 ecoff.c:3598
+#: config/obj-elf.c:1886 ecoff.c:3598
 #, c-format
 msgid "symbol `%s' can not be both weak and common"
 msgstr ""
 
-#: config/obj-elf.c:1985
+#: config/obj-elf.c:1993
 #, c-format
 msgid "assuming all members of group `%s' are COMDAT"
 msgstr ""
 
-#: config/obj-elf.c:2007
+#: config/obj-elf.c:2015
 #, c-format
 msgid "can't create group: %s"
 msgstr ""
 
-#: config/obj-elf.c:2117
+#: config/obj-elf.c:2125
 #, c-format
 msgid "failed to set up debugging information: %s"
 msgstr ""
 
-#: config/obj-elf.c:2137
+#: config/obj-elf.c:2145
 #, c-format
 msgid "can't start writing .mdebug section: %s"
 msgstr ""
 
-#: config/obj-elf.c:2145
+#: config/obj-elf.c:2153
 #, c-format
 msgid "could not write .mdebug section: %s"
 msgstr ""
@@ -986,8 +983,8 @@ msgstr ""
 msgid "opcode `%s' not supported for target %s"
 msgstr ""
 
-#: config/tc-alpha.c:1129 config/tc-alpha.c:3145 config/tc-avr.c:1325
-#: config/tc-msp430.c:1865
+#: config/tc-alpha.c:1129 config/tc-alpha.c:3145 config/tc-avr.c:1291
+#: config/tc-msp430.c:1829
 #, c-format
 msgid "unknown opcode `%s'"
 msgstr ""
@@ -1067,9 +1064,9 @@ msgstr ""
 msgid "sequence number in use for !tlsgd!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1823 config/tc-arc.c:292 config/tc-mn10200.c:888
-#: config/tc-mn10300.c:2604 config/tc-ppc.c:1563 config/tc-s390.c:615
-#: config/tc-v850.c:1588
+#: config/tc-alpha.c:1823 config/tc-arc.c:292 config/tc-mn10200.c:856
+#: config/tc-mn10300.c:2569 config/tc-ppc.c:1575 config/tc-s390.c:615
+#: config/tc-v850.c:1556
 msgid "operand"
 msgstr ""
 
@@ -1085,17 +1082,17 @@ msgstr ""
 msgid "can not resolve expression"
 msgstr ""
 
-#: config/tc-alpha.c:3275 config/tc-ppc.c:1862 config/tc-ppc.c:4410
+#: config/tc-alpha.c:3275 config/tc-ppc.c:1874 config/tc-ppc.c:4422
 #, c-format
 msgid ".COMMon length (%ld.) <0! Ignored."
 msgstr ""
 
-#: config/tc-alpha.c:3304 config/tc-sparc.c:3923 config/tc-v850.c:245
+#: config/tc-alpha.c:3304 config/tc-sparc.c:3850 config/tc-v850.c:245
 msgid "Ignoring attempt to re-define symbol"
 msgstr ""
 
-#: config/tc-alpha.c:3313 config/tc-alpha.c:3322 config/tc-ppc.c:4447
-#: config/tc-sparc.c:3931
+#: config/tc-alpha.c:3313 config/tc-alpha.c:3322 config/tc-ppc.c:4459
+#: config/tc-sparc.c:3858
 #, c-format
 msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld."
 msgstr ""
@@ -1124,7 +1121,7 @@ msgstr ""
 msgid ".fmask outside of .ent"
 msgstr ""
 
-#: config/tc-alpha.c:3547 config/tc-score.c:5886 ecoff.c:3204
+#: config/tc-alpha.c:3547 config/tc-score.c:5816 ecoff.c:3204
 msgid ".mask outside of .ent"
 msgstr ""
 
@@ -1136,7 +1133,7 @@ msgstr ""
 msgid "bad .mask directive"
 msgstr ""
 
-#: config/tc-alpha.c:3590 config/tc-mips.c:14665 config/tc-score.c:6029
+#: config/tc-alpha.c:3590 config/tc-mips.c:14617 config/tc-score.c:5959
 #: ecoff.c:3168
 msgid ".frame outside of .ent"
 msgstr ""
@@ -1226,7 +1223,7 @@ msgstr ""
 msgid "No symbol after .code_address"
 msgstr ""
 
-#: config/tc-alpha.c:4226 config/tc-score.c:5892
+#: config/tc-alpha.c:4226 config/tc-score.c:5822
 msgid "Bad .mask directive"
 msgstr ""
 
@@ -1260,7 +1257,7 @@ msgstr ""
 msgid "Alignment too large: %d. assumed"
 msgstr ""
 
-#: config/tc-alpha.c:4497 config/tc-d30v.c:2082
+#: config/tc-alpha.c:4497 config/tc-d30v.c:2048
 msgid "Alignment negative: 0 assumed"
 msgstr ""
 
@@ -1283,25 +1280,18 @@ msgstr ""
 msgid "internal error: can't hash macro `%s': %s"
 msgstr ""
 
-#: config/tc-alpha.c:4998 config/tc-arm.c:6059 config/tc-arm.c:6071
+#: config/tc-alpha.c:4998 config/tc-arm.c:6061 config/tc-arm.c:6073
 #: config/tc-i960.c:708 config/tc-xtensa.c:5177 config/tc-xtensa.c:5255
 #: config/tc-xtensa.c:5301 config/tc-z80.c:1893
 msgid "syntax error"
 msgstr ""
 
-#: config/tc-alpha.c:5067 config/tc-dlx.c:1025 config/tc-h8300.c:2053
-#: config/tc-hppa.c:1381 config/tc-i860.c:1057 config/tc-m68hc11.c:560
-#: config/tc-m68k.c:4728 config/tc-ns32k.c:1943 config/tc-or32.c:580
-#: config/tc-sparc.c:2998 config/tc-spu.c:744 config/tc-z8k.c:1332
-msgid "Bad call to MD_ATOF()"
-msgstr ""
-
-#: config/tc-alpha.c:5116
+#: config/tc-alpha.c:5076
 #, c-format
 msgid "Unknown CPU identifier `%s'"
 msgstr ""
 
-#: config/tc-alpha.c:5159
+#: config/tc-alpha.c:5119
 msgid ""
 "Alpha options:\n"
 "-32addr\t\t\ttreat addresses as 32-bit values\n"
@@ -1313,47 +1303,47 @@ msgid ""
 "\t\t\tthese variants include PALcode opcodes\n"
 msgstr ""
 
-#: config/tc-alpha.c:5169
+#: config/tc-alpha.c:5129
 msgid ""
 "VMS options:\n"
 "-+\t\t\thash encode (don't truncate) names longer than 64 characters\n"
 "-H\t\t\tshow new symbol after hash truncation\n"
 msgstr ""
 
-#: config/tc-alpha.c:5346
+#: config/tc-alpha.c:5306
 #, c-format
 msgid "unhandled relocation type %s"
 msgstr ""
 
-#: config/tc-alpha.c:5359
+#: config/tc-alpha.c:5319
 msgid "non-absolute expression in constant field"
 msgstr ""
 
-#: config/tc-alpha.c:5373
+#: config/tc-alpha.c:5333
 #, c-format
 msgid "type %d reloc done?\n"
 msgstr ""
 
-#: config/tc-alpha.c:5420 config/tc-alpha.c:5427
+#: config/tc-alpha.c:5380 config/tc-alpha.c:5387
 msgid "Used $at without \".set noat\""
 msgstr ""
 
-#: config/tc-alpha.c:5589
+#: config/tc-alpha.c:5549
 #, c-format
 msgid "!samegp reloc against symbol without .prologue: %s"
 msgstr ""
 
-#: config/tc-alpha.c:5626 config/tc-xtensa.c:5811
+#: config/tc-alpha.c:5586 config/tc-xtensa.c:5775
 #, c-format
 msgid "cannot represent `%s' relocation in object file"
 msgstr ""
 
-#: config/tc-alpha.c:5632 config/tc-xtensa.c:5819
+#: config/tc-alpha.c:5592 config/tc-xtensa.c:5783
 #, c-format
 msgid "internal error? cannot generate `%s' relocation"
 msgstr ""
 
-#: config/tc-alpha.c:5683
+#: config/tc-alpha.c:5643
 #, c-format
 msgid "frame reg expected, using $%d."
 msgstr ""
@@ -1361,15 +1351,15 @@ msgstr ""
 #: config/tc-arc.c:194 config/tc-arc.c:215 config/tc-arc.c:991
 #: config/tc-h8300.c:76 config/tc-h8300.c:85 config/tc-h8300.c:95
 #: config/tc-h8300.c:105 config/tc-h8300.c:115 config/tc-h8300.c:126
-#: config/tc-h8300.c:193 config/tc-hppa.c:6839 config/tc-hppa.c:6845
-#: config/tc-hppa.c:6851 config/tc-hppa.c:6857 config/tc-hppa.c:8264
-#: config/tc-mn10300.c:1222 config/tc-mn10300.c:1227 config/tc-mn10300.c:2729
+#: config/tc-h8300.c:193 config/tc-hppa.c:6788 config/tc-hppa.c:6794
+#: config/tc-hppa.c:6800 config/tc-hppa.c:6806 config/tc-hppa.c:8213
+#: config/tc-mn10300.c:1187 config/tc-mn10300.c:1192 config/tc-mn10300.c:2694
 #: config/tc-xc16x.c:79 config/tc-xc16x.c:86 config/tc-xc16x.c:93
 msgid "could not set architecture and machine"
 msgstr ""
 
-#: config/tc-arc.c:212 config/tc-arm.c:19534 config/tc-score.c:6592
-#: config/tc-score.c:6608 config/tc-score.c:6613
+#: config/tc-arc.c:212 config/tc-arm.c:19536 config/tc-score.c:6522
+#: config/tc-score.c:6538 config/tc-score.c:6543
 msgid "virtual memory exhausted"
 msgstr ""
 
@@ -1496,62 +1486,62 @@ msgstr ""
 msgid "invalid identifier for \".option\""
 msgstr ""
 
-#: config/tc-arc.c:1076 config/tc-ip2k.c:249 config/tc-mt.c:348
+#: config/tc-arc.c:1036 config/tc-ip2k.c:249 config/tc-mt.c:348
 msgid "md_estimate_size_before_relax\n"
 msgstr ""
 
-#: config/tc-arc.c:1087
+#: config/tc-arc.c:1047
 msgid "md_convert_frag\n"
 msgstr ""
 
-#: config/tc-arc.c:1120
+#: config/tc-arc.c:1080
 msgid "expression too complex code symbol"
 msgstr ""
 
-#: config/tc-arc.c:1147
+#: config/tc-arc.c:1107
 #, c-format
 msgid "missing ')' in %%-op"
 msgstr ""
 
-#: config/tc-arc.c:1402 config/tc-dlx.c:1256 config/tc-m32r.c:2333
-#: config/tc-sparc.c:3604
+#: config/tc-arc.c:1362 config/tc-dlx.c:1200 config/tc-m32r.c:2280
+#: config/tc-sparc.c:3531
 #, c-format
 msgid "internal error: can't export reloc type %d (`%s')"
 msgstr ""
 
-#: config/tc-arc.c:1534
+#: config/tc-arc.c:1494
 #, c-format
 msgid "unknown syntax format character `%c'"
 msgstr ""
 
-#: config/tc-arc.c:1672
+#: config/tc-arc.c:1632
 msgid "too many suffixes"
 msgstr ""
 
-#: config/tc-arc.c:1711
+#: config/tc-arc.c:1671
 msgid "symbol as destination register"
 msgstr ""
 
-#: config/tc-arc.c:1796 config/tc-mn10200.c:1173 config/tc-mn10300.c:1964
-#: config/tc-ppc.c:2698 config/tc-s390.c:1473 config/tc-v850.c:2041
+#: config/tc-arc.c:1756 config/tc-mn10200.c:1141 config/tc-mn10300.c:1929
+#: config/tc-ppc.c:2710 config/tc-s390.c:1473 config/tc-v850.c:2009
 #, c-format
 msgid "junk at end of line: `%s'"
 msgstr ""
 
-#: config/tc-arc.c:1835
+#: config/tc-arc.c:1795
 msgid "8 byte instruction in delay slot"
 msgstr ""
 
 #. except for jl  addr
-#: config/tc-arc.c:1838
+#: config/tc-arc.c:1798
 msgid "8 byte jump instruction with delay slot"
 msgstr ""
 
-#: config/tc-arc.c:1846
+#: config/tc-arc.c:1806
 msgid "conditional branch follows set of flags"
 msgstr ""
 
-#: config/tc-arc.c:1930 config/tc-arm.c:14177
+#: config/tc-arc.c:1890 config/tc-arm.c:14179
 #, c-format
 msgid "bad instruction `%s'"
 msgstr ""
@@ -1628,7 +1618,7 @@ msgstr ""
 msgid "iWMMXt data register expected"
 msgstr ""
 
-#: config/tc-arm.c:501 config/tc-arm.c:5868
+#: config/tc-arm.c:501 config/tc-arm.c:5870
 msgid "iWMMXt control register expected"
 msgstr ""
 
@@ -1685,7 +1675,7 @@ msgstr ""
 msgid "immediate expression requires a # prefix"
 msgstr ""
 
-#: config/tc-arm.c:830 config/tc-score.c:5675 expr.c:1300 read.c:2439
+#: config/tc-arm.c:830 config/tc-score.c:5605 expr.c:1300 read.c:2439
 msgid "bad expression"
 msgstr ""
 
@@ -1693,578 +1683,574 @@ msgstr ""
 msgid "bad segment"
 msgstr ""
 
-#: config/tc-arm.c:858 config/tc-arm.c:4393 config/tc-i960.c:1300
-#: config/tc-score.c:985
+#: config/tc-arm.c:858 config/tc-arm.c:4395 config/tc-i960.c:1300
+#: config/tc-score.c:980
 msgid "invalid constant"
 msgstr ""
 
-#: config/tc-arm.c:919 config/tc-score.c:4749
-msgid "bad call to MD_ATOF()"
-msgstr ""
-
-#: config/tc-arm.c:986
+#: config/tc-arm.c:988
 msgid "expected #constant"
 msgstr ""
 
-#: config/tc-arm.c:1147
+#: config/tc-arm.c:1149
 #, c-format
 msgid "unexpected character `%c' in type specifier"
 msgstr ""
 
-#: config/tc-arm.c:1164
+#: config/tc-arm.c:1166
 #, c-format
 msgid "bad size %d in type specifier"
 msgstr ""
 
-#: config/tc-arm.c:1214
+#: config/tc-arm.c:1216
 msgid "only one type should be specified for operand"
 msgstr ""
 
-#: config/tc-arm.c:1220
+#: config/tc-arm.c:1222
 msgid "vector type expected"
 msgstr ""
 
-#: config/tc-arm.c:1292
+#: config/tc-arm.c:1294
 msgid "can't redefine type for operand"
 msgstr ""
 
-#: config/tc-arm.c:1303
+#: config/tc-arm.c:1305
 msgid "only D registers may be indexed"
 msgstr ""
 
-#: config/tc-arm.c:1309
+#: config/tc-arm.c:1311
 msgid "can't change index for operand"
 msgstr ""
 
-#: config/tc-arm.c:1325 config/tc-arm.c:3994
+#: config/tc-arm.c:1327 config/tc-arm.c:3996
 msgid "constant expression required"
 msgstr ""
 
-#: config/tc-arm.c:1369
+#: config/tc-arm.c:1371
 msgid "register operand expected, but got scalar"
 msgstr ""
 
-#: config/tc-arm.c:1402
+#: config/tc-arm.c:1404
 msgid "scalar must have an index"
 msgstr ""
 
-#: config/tc-arm.c:1407 config/tc-arm.c:13144 config/tc-arm.c:13192
-#: config/tc-arm.c:13594
+#: config/tc-arm.c:1409 config/tc-arm.c:13146 config/tc-arm.c:13194
+#: config/tc-arm.c:13596
 msgid "scalar index out of range"
 msgstr ""
 
-#: config/tc-arm.c:1454
+#: config/tc-arm.c:1456
 msgid "bad range in register list"
 msgstr ""
 
-#: config/tc-arm.c:1462 config/tc-arm.c:1471 config/tc-arm.c:1512
+#: config/tc-arm.c:1464 config/tc-arm.c:1473 config/tc-arm.c:1514
 #, c-format
 msgid "Warning: duplicated register (r%d) in register list"
 msgstr ""
 
-#: config/tc-arm.c:1474
+#: config/tc-arm.c:1476
 msgid "Warning: register range not in ascending order"
 msgstr ""
 
-#: config/tc-arm.c:1485
+#: config/tc-arm.c:1487
 msgid "missing `}'"
 msgstr ""
 
-#: config/tc-arm.c:1501
+#: config/tc-arm.c:1503
 msgid "invalid register mask"
 msgstr ""
 
-#: config/tc-arm.c:1583
+#: config/tc-arm.c:1585
 msgid "expecting {"
 msgstr ""
 
-#: config/tc-arm.c:1638 config/tc-arm.c:1682
+#: config/tc-arm.c:1640 config/tc-arm.c:1684
 msgid "register out of range in list"
 msgstr ""
 
-#: config/tc-arm.c:1654 config/tc-arm.c:1699 config/tc-h8300.c:989
+#: config/tc-arm.c:1656 config/tc-arm.c:1701 config/tc-h8300.c:989
 #: config/tc-mips.c:10188 config/tc-mips.c:10210
 msgid "invalid register list"
 msgstr ""
 
-#: config/tc-arm.c:1660 config/tc-arm.c:3459 config/tc-arm.c:3592
+#: config/tc-arm.c:1662 config/tc-arm.c:3461 config/tc-arm.c:3594
 msgid "register list not in ascending order"
 msgstr ""
 
-#: config/tc-arm.c:1691
+#: config/tc-arm.c:1693
 msgid "register range not in ascending order"
 msgstr ""
 
-#: config/tc-arm.c:1724
+#: config/tc-arm.c:1726
 msgid "non-contiguous register range"
 msgstr ""
 
-#: config/tc-arm.c:1850
+#: config/tc-arm.c:1852
 msgid "don't use Rn-Rm syntax with non-unit stride"
 msgstr ""
 
-#: config/tc-arm.c:1905
+#: config/tc-arm.c:1907
 msgid "error parsing element/structure list"
 msgstr ""
 
-#: config/tc-arm.c:1911
+#: config/tc-arm.c:1913
 msgid "expected }"
 msgstr ""
 
-#: config/tc-arm.c:1967
+#: config/tc-arm.c:1969
 #, c-format
 msgid "ignoring attempt to redefine built-in register '%s'"
 msgstr ""
 
-#: config/tc-arm.c:1972
+#: config/tc-arm.c:1974
 #, c-format
 msgid "ignoring redefinition of register alias '%s'"
 msgstr ""
 
-#: config/tc-arm.c:2000
+#: config/tc-arm.c:2002
 msgid "attempt to redefine typed alias"
 msgstr ""
 
-#: config/tc-arm.c:2038
+#: config/tc-arm.c:2040
 #, c-format
 msgid "unknown register '%s' -- .req ignored"
 msgstr ""
 
-#: config/tc-arm.c:2134
+#: config/tc-arm.c:2136
 msgid "bad type for register"
 msgstr ""
 
-#: config/tc-arm.c:2145
+#: config/tc-arm.c:2147
 msgid "expression must be constant"
 msgstr ""
 
-#: config/tc-arm.c:2162
+#: config/tc-arm.c:2164
 msgid "can't redefine the type of a register alias"
 msgstr ""
 
-#: config/tc-arm.c:2169
+#: config/tc-arm.c:2171
 msgid "you must specify a single type only"
 msgstr ""
 
-#: config/tc-arm.c:2182
+#: config/tc-arm.c:2184
 msgid "can't redefine the index of a scalar alias"
 msgstr ""
 
-#: config/tc-arm.c:2190
+#: config/tc-arm.c:2192
 msgid "scalar index must be constant"
 msgstr ""
 
-#: config/tc-arm.c:2199
+#: config/tc-arm.c:2201
 msgid "expecting ]"
 msgstr ""
 
-#: config/tc-arm.c:2236
+#: config/tc-arm.c:2238
 msgid "invalid syntax for .req directive"
 msgstr ""
 
-#: config/tc-arm.c:2242
+#: config/tc-arm.c:2244
 msgid "invalid syntax for .dn directive"
 msgstr ""
 
-#: config/tc-arm.c:2248
+#: config/tc-arm.c:2250
 msgid "invalid syntax for .qn directive"
 msgstr ""
 
-#: config/tc-arm.c:2274
+#: config/tc-arm.c:2276
 msgid "invalid syntax for .unreq directive"
 msgstr ""
 
-#: config/tc-arm.c:2280
+#: config/tc-arm.c:2282
 #, c-format
 msgid "unknown register alias '%s'"
 msgstr ""
 
-#: config/tc-arm.c:2282
+#: config/tc-arm.c:2284
 #, c-format
 msgid "ignoring attempt to undefine built-in register '%s'"
 msgstr ""
 
-#: config/tc-arm.c:2433
+#: config/tc-arm.c:2435
 #, c-format
 msgid "Failed to find real start of function: %s\n"
 msgstr ""
 
-#: config/tc-arm.c:2449
+#: config/tc-arm.c:2451
 msgid "selected processor does not support THUMB opcodes"
 msgstr ""
 
-#: config/tc-arm.c:2463
+#: config/tc-arm.c:2465
 msgid "selected processor does not support ARM opcodes"
 msgstr ""
 
-#: config/tc-arm.c:2476
+#: config/tc-arm.c:2478
 #, c-format
 msgid "invalid instruction size selected (%d)"
 msgstr ""
 
-#: config/tc-arm.c:2508
+#: config/tc-arm.c:2510
 #, c-format
 msgid "invalid operand to .code directive (%d) (expecting 16 or 32)"
 msgstr ""
 
-#: config/tc-arm.c:2564
+#: config/tc-arm.c:2566
 #, c-format
 msgid "expected comma after name \"%s\""
 msgstr ""
 
-#: config/tc-arm.c:2614 config/tc-m32r.c:588
+#: config/tc-arm.c:2616 config/tc-m32r.c:588
 #, c-format
 msgid "symbol `%s' already defined"
 msgstr ""
 
-#: config/tc-arm.c:2648
+#: config/tc-arm.c:2650
 #, c-format
 msgid "unrecognized syntax mode \"%s\""
 msgstr ""
 
-#: config/tc-arm.c:2669
+#: config/tc-arm.c:2671
 #, c-format
 msgid "alignment too large: %d assumed"
 msgstr ""
 
-#: config/tc-arm.c:2672
+#: config/tc-arm.c:2674
 msgid "alignment negative. 0 assumed."
 msgstr ""
 
-#: config/tc-arm.c:2819
+#: config/tc-arm.c:2821
 msgid "literal pool overflow"
 msgstr ""
 
-#: config/tc-arm.c:2975 config/tc-arm.c:5803
+#: config/tc-arm.c:2977 config/tc-arm.c:5805
 msgid "unrecognized relocation suffix"
 msgstr ""
 
-#: config/tc-arm.c:2988
+#: config/tc-arm.c:2990
 msgid "(plt) is only valid on branch targets"
 msgstr ""
 
-#: config/tc-arm.c:2994 config/tc-s390.c:1129 config/tc-s390.c:1743
+#: config/tc-arm.c:2996 config/tc-s390.c:1129 config/tc-s390.c:1743
 #: config/tc-xtensa.c:1546
 #, c-format
 msgid "%s relocations do not fit in %d bytes"
 msgstr ""
 
-#: config/tc-arm.c:3042 dwarf2dbg.c:694
+#: config/tc-arm.c:3044 dwarf2dbg.c:694
 msgid "expected 0 or 1"
 msgstr ""
 
-#: config/tc-arm.c:3046
+#: config/tc-arm.c:3048
 msgid "missing comma"
 msgstr ""
 
-#: config/tc-arm.c:3101
+#: config/tc-arm.c:3103
 msgid "duplicate .handlerdata directive"
 msgstr ""
 
-#: config/tc-arm.c:3172
+#: config/tc-arm.c:3174
 msgid "personality routine specified for cantunwind frame"
 msgstr ""
 
-#: config/tc-arm.c:3186
+#: config/tc-arm.c:3188
 msgid "duplicate .personalityindex directive"
 msgstr ""
 
-#: config/tc-arm.c:3193
+#: config/tc-arm.c:3195
 msgid "bad personality routine number"
 msgstr ""
 
-#: config/tc-arm.c:3212
+#: config/tc-arm.c:3214
 msgid "duplicate .personality directive"
 msgstr ""
 
-#: config/tc-arm.c:3235 config/tc-arm.c:3363 config/tc-arm.c:3411
+#: config/tc-arm.c:3237 config/tc-arm.c:3365 config/tc-arm.c:3413
 msgid "expected register list"
 msgstr ""
 
-#: config/tc-arm.c:3317
+#: config/tc-arm.c:3319
 msgid "expected , <constant>"
 msgstr ""
 
-#: config/tc-arm.c:3326
+#: config/tc-arm.c:3328
 msgid "number of registers must be in the range [1:4]"
 msgstr ""
 
-#: config/tc-arm.c:3473 config/tc-arm.c:3606
+#: config/tc-arm.c:3475 config/tc-arm.c:3608
 msgid "bad register range"
 msgstr ""
 
-#: config/tc-arm.c:3660
+#: config/tc-arm.c:3662
 msgid "register expected"
 msgstr ""
 
-#: config/tc-arm.c:3670
+#: config/tc-arm.c:3672
 msgid "FPA .unwind_save does not take a register list"
 msgstr ""
 
-#: config/tc-arm.c:3688
+#: config/tc-arm.c:3690
 msgid ".unwind_save does not support this kind of register"
 msgstr ""
 
-#: config/tc-arm.c:3724
+#: config/tc-arm.c:3726
 msgid "SP and PC not permitted in .unwind_movsp directive"
 msgstr ""
 
-#: config/tc-arm.c:3729
+#: config/tc-arm.c:3731
 msgid "unexpected .unwind_movsp directive"
 msgstr ""
 
-#: config/tc-arm.c:3753
+#: config/tc-arm.c:3755
 msgid "stack increment must be multiple of 4"
 msgstr ""
 
-#: config/tc-arm.c:3782
+#: config/tc-arm.c:3784
 msgid "expected <reg>, <reg>"
 msgstr ""
 
-#: config/tc-arm.c:3800
+#: config/tc-arm.c:3802
 msgid "register must be either sp or set by a previousunwind_movsp directive"
 msgstr ""
 
-#: config/tc-arm.c:3836
+#: config/tc-arm.c:3838
 msgid "expected <offset>, <opcode>"
 msgstr ""
 
-#: config/tc-arm.c:3848
+#: config/tc-arm.c:3850
 msgid "unwind opcode too long"
 msgstr ""
 
-#: config/tc-arm.c:3853
+#: config/tc-arm.c:3855
 msgid "invalid unwind opcode"
 msgstr ""
 
-#: config/tc-arm.c:4000 config/tc-arm.c:4863 config/tc-arm.c:8438
-#: config/tc-arm.c:8920 config/tc-arm.c:11718 config/tc-arm.c:18690
-#: config/tc-arm.c:18715 config/tc-arm.c:18723 config/tc-z8k.c:1144
+#: config/tc-arm.c:4002 config/tc-arm.c:4865 config/tc-arm.c:8440
+#: config/tc-arm.c:8922 config/tc-arm.c:11720 config/tc-arm.c:18692
+#: config/tc-arm.c:18717 config/tc-arm.c:18725 config/tc-z8k.c:1144
 #: config/tc-z8k.c:1154
 msgid "immediate value out of range"
 msgstr ""
 
-#: config/tc-arm.c:4147
+#: config/tc-arm.c:4149
 msgid "invalid FPA immediate expression"
 msgstr ""
 
-#: config/tc-arm.c:4271 config/tc-arm.c:4279
+#: config/tc-arm.c:4273 config/tc-arm.c:4281
 msgid "shift expression expected"
 msgstr ""
 
-#: config/tc-arm.c:4293
+#: config/tc-arm.c:4295
 msgid "'LSL' or 'ASR' required"
 msgstr ""
 
-#: config/tc-arm.c:4301
+#: config/tc-arm.c:4303
 msgid "'LSL' required"
 msgstr ""
 
-#: config/tc-arm.c:4309
+#: config/tc-arm.c:4311
 msgid "'ASR' required"
 msgstr ""
 
-#: config/tc-arm.c:4381 config/tc-arm.c:4857 config/tc-arm.c:6429
-#: config/tc-v850.c:1859 config/tc-v850.c:1880
+#: config/tc-arm.c:4383 config/tc-arm.c:4859 config/tc-arm.c:6431
+#: config/tc-v850.c:1827 config/tc-v850.c:1848
 msgid "constant expression expected"
 msgstr ""
 
-#: config/tc-arm.c:4388
+#: config/tc-arm.c:4390
 msgid "invalid rotation"
 msgstr ""
 
-#: config/tc-arm.c:4548 config/tc-arm.c:4693
+#: config/tc-arm.c:4550 config/tc-arm.c:4695
 msgid "unknown group relocation"
 msgstr ""
 
-#: config/tc-arm.c:4661
+#: config/tc-arm.c:4663
 msgid "alignment must be constant"
 msgstr ""
 
-#: config/tc-arm.c:4724
+#: config/tc-arm.c:4726
 msgid "this group relocation is not allowed on this instruction"
 msgstr ""
 
-#: config/tc-arm.c:4736 config/tc-arm.c:5127
+#: config/tc-arm.c:4738 config/tc-arm.c:5129
 msgid "']' expected"
 msgstr ""
 
-#: config/tc-arm.c:4754
+#: config/tc-arm.c:4756
 msgid "'}' expected at end of 'option' field"
 msgstr ""
 
-#: config/tc-arm.c:4759
+#: config/tc-arm.c:4761
 msgid "cannot combine index with option"
 msgstr ""
 
-#: config/tc-arm.c:4772
+#: config/tc-arm.c:4774
 msgid "cannot combine pre- and post-indexing"
 msgstr ""
 
-#: config/tc-arm.c:4933
+#: config/tc-arm.c:4935
 msgid "flag for {c}psr instruction expected"
 msgstr ""
 
-#: config/tc-arm.c:4958
+#: config/tc-arm.c:4960
 msgid "unrecognized CPS flag"
 msgstr ""
 
-#: config/tc-arm.c:4965
+#: config/tc-arm.c:4967
 msgid "missing CPS flags"
 msgstr ""
 
-#: config/tc-arm.c:4988 config/tc-arm.c:4994
+#: config/tc-arm.c:4990 config/tc-arm.c:4996
 msgid "valid endian specifiers are be or le"
 msgstr ""
 
-#: config/tc-arm.c:5016
+#: config/tc-arm.c:5018
 msgid "missing rotation field after comma"
 msgstr ""
 
-#: config/tc-arm.c:5031
+#: config/tc-arm.c:5033
 msgid "rotation can only be 0, 8, 16, or 24"
 msgstr ""
 
-#: config/tc-arm.c:5051
+#: config/tc-arm.c:5053
 msgid "condition required"
 msgstr ""
 
-#: config/tc-arm.c:5089 config/tc-arm.c:6924
+#: config/tc-arm.c:5091 config/tc-arm.c:6926
 msgid "'[' expected"
 msgstr ""
 
-#: config/tc-arm.c:5102
+#: config/tc-arm.c:5104
 msgid "',' expected"
 msgstr ""
 
-#: config/tc-arm.c:5119
+#: config/tc-arm.c:5121
 msgid "invalid shift"
 msgstr ""
 
-#: config/tc-arm.c:5192
+#: config/tc-arm.c:5194
 msgid "can't use Neon quad register here"
 msgstr ""
 
-#: config/tc-arm.c:5258
+#: config/tc-arm.c:5260
 msgid "expected <Rm> or <Dm> or <Qm> operand"
 msgstr ""
 
-#: config/tc-arm.c:5338
+#: config/tc-arm.c:5340
 msgid "parse error"
 msgstr ""
 
-#: config/tc-arm.c:5348 read.c:2096
+#: config/tc-arm.c:5350 read.c:2096
 msgid "expected comma"
 msgstr ""
 
-#: config/tc-arm.c:5638 config/tc-arm.c:5708
+#: config/tc-arm.c:5640 config/tc-arm.c:5710
 msgid "immediate value is out of range"
 msgstr ""
 
-#: config/tc-arm.c:5853
+#: config/tc-arm.c:5855
 msgid "iWMMXt data or control register expected"
 msgstr ""
 
-#: config/tc-arm.c:6006
+#: config/tc-arm.c:6008
 #, c-format
 msgid "unhandled operand code %d"
 msgstr ""
 
-#: config/tc-arm.c:6085 config/tc-score.c:56
+#: config/tc-arm.c:6087 config/tc-score.c:56
 msgid "garbage following instruction"
 msgstr ""
 
-#: config/tc-arm.c:6172
+#: config/tc-arm.c:6174
 msgid "D register out of range for selected VFP version"
 msgstr ""
 
-#: config/tc-arm.c:6251
+#: config/tc-arm.c:6253
 msgid "instruction does not accept preindexed addressing"
 msgstr ""
 
 #. unindexed - only for coprocessor
-#: config/tc-arm.c:6267 config/tc-arm.c:8244
+#: config/tc-arm.c:6269 config/tc-arm.c:8246
 msgid "instruction does not accept unindexed addressing"
 msgstr ""
 
-#: config/tc-arm.c:6275
+#: config/tc-arm.c:6277
 msgid "destination register same as write-back base"
 msgstr ""
 
-#: config/tc-arm.c:6276
+#: config/tc-arm.c:6278
 msgid "source register same as write-back base"
 msgstr ""
 
-#: config/tc-arm.c:6322
+#: config/tc-arm.c:6324
 msgid "instruction does not accept scaled register index"
 msgstr ""
 
-#: config/tc-arm.c:6362
+#: config/tc-arm.c:6364
 msgid "instruction does not support unindexed addressing"
 msgstr ""
 
-#: config/tc-arm.c:6377
+#: config/tc-arm.c:6379
 msgid "pc may not be used with write-back"
 msgstr ""
 
-#: config/tc-arm.c:6382
+#: config/tc-arm.c:6384
 msgid "instruction does not support writeback"
 msgstr ""
 
-#: config/tc-arm.c:6424
+#: config/tc-arm.c:6426
 msgid "invalid pseudo operation"
 msgstr ""
 
-#: config/tc-arm.c:6470
+#: config/tc-arm.c:6472
 msgid "literal pool insertion failed"
 msgstr ""
 
-#: config/tc-arm.c:6528
+#: config/tc-arm.c:6530
 msgid "Rn must not overlap other operands"
 msgstr ""
 
-#: config/tc-arm.c:6617 config/tc-arm.c:8776
+#: config/tc-arm.c:6619 config/tc-arm.c:8778
 msgid "bad barrier type"
 msgstr ""
 
-#: config/tc-arm.c:6628 config/tc-arm.c:6647 config/tc-arm.c:6660
-#: config/tc-arm.c:8787 config/tc-arm.c:8807 config/tc-arm.c:8821
+#: config/tc-arm.c:6630 config/tc-arm.c:6649 config/tc-arm.c:6662
+#: config/tc-arm.c:8789 config/tc-arm.c:8809 config/tc-arm.c:8823
 msgid "bit-field extends past end of register"
 msgstr ""
 
-#: config/tc-arm.c:6689
+#: config/tc-arm.c:6691
 msgid "the only suffix valid here is '(plt)'"
 msgstr ""
 
-#: config/tc-arm.c:6742
+#: config/tc-arm.c:6744
 msgid "use of r15 in blx in ARM mode is not really useful"
 msgstr ""
 
-#: config/tc-arm.c:6765
+#: config/tc-arm.c:6767
 msgid "use of r15 in bx in ARM mode is not really useful"
 msgstr ""
 
-#: config/tc-arm.c:6777 config/tc-arm.c:8959
+#: config/tc-arm.c:6779 config/tc-arm.c:8961
 msgid "use of r15 in bxj is not really useful"
 msgstr ""
 
-#: config/tc-arm.c:6891 config/tc-arm.c:6900
+#: config/tc-arm.c:6893 config/tc-arm.c:6902
 msgid "writeback of base register is UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:6894
+#: config/tc-arm.c:6896
 msgid "writeback of base register when in register list is UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:6904
+#: config/tc-arm.c:6906
 msgid "if writeback register is in list, it must be the lowest reg in the list"
 msgstr ""
 
-#: config/tc-arm.c:6919
+#: config/tc-arm.c:6921
 msgid "first destination register must be even"
 msgstr ""
 
-#: config/tc-arm.c:6922 config/tc-arm.c:6989
+#: config/tc-arm.c:6924 config/tc-arm.c:6991
 msgid "can only load two consecutive registers"
 msgstr ""
 
@@ -2272,1047 +2258,1047 @@ msgstr ""
 #. have been called in the first place.
 #. If op 2 were present and equal to PC, this function wouldn't
 #. have been called in the first place.
-#: config/tc-arm.c:6923 config/tc-arm.c:6992 config/tc-arm.c:7514
-#: config/tc-arm.c:9437
+#: config/tc-arm.c:6925 config/tc-arm.c:6994 config/tc-arm.c:7516
+#: config/tc-arm.c:9439
 msgid "r14 not allowed here"
 msgstr ""
 
-#: config/tc-arm.c:6937
+#: config/tc-arm.c:6939
 msgid "base register written back, and overlaps second destination register"
 msgstr ""
 
-#: config/tc-arm.c:6945
+#: config/tc-arm.c:6947
 msgid "index register overlaps destination register"
 msgstr ""
 
-#: config/tc-arm.c:6975 config/tc-arm.c:7496
+#: config/tc-arm.c:6977 config/tc-arm.c:7498
 msgid "offset must be zero in ARM encoding"
 msgstr ""
 
-#: config/tc-arm.c:6986 config/tc-arm.c:7508
+#: config/tc-arm.c:6988 config/tc-arm.c:7510
 msgid "even register required"
 msgstr ""
 
-#: config/tc-arm.c:7017 config/tc-arm.c:7048
+#: config/tc-arm.c:7019 config/tc-arm.c:7050
 msgid "this instruction requires a post-indexed address"
 msgstr ""
 
-#: config/tc-arm.c:7075
+#: config/tc-arm.c:7077
 msgid "Rd and Rm should be different in mla"
 msgstr ""
 
-#: config/tc-arm.c:7099 config/tc-arm.c:9695
+#: config/tc-arm.c:7101 config/tc-arm.c:9697
 msgid ":lower16: not allowed this instruction"
 msgstr ""
 
-#: config/tc-arm.c:7101
+#: config/tc-arm.c:7103
 msgid ":upper16: not allowed instruction"
 msgstr ""
 
-#: config/tc-arm.c:7120
+#: config/tc-arm.c:7122
 msgid "operand 1 must be FPSCR"
 msgstr ""
 
-#: config/tc-arm.c:7153 config/tc-arm.c:9804
+#: config/tc-arm.c:7155 config/tc-arm.c:9806
 msgid "'CPSR' or 'SPSR' expected"
 msgstr ""
 
-#: config/tc-arm.c:7190
+#: config/tc-arm.c:7192
 msgid "Rd and Rm should be different in mul"
 msgstr ""
 
-#: config/tc-arm.c:7211
+#: config/tc-arm.c:7213
 msgid "rdhi, rdlo and rm must all be different"
 msgstr ""
 
-#: config/tc-arm.c:7273
+#: config/tc-arm.c:7275
 msgid "'[' expected after PLD mnemonic"
 msgstr ""
 
-#: config/tc-arm.c:7275 config/tc-arm.c:7290
+#: config/tc-arm.c:7277 config/tc-arm.c:7292
 msgid "post-indexed expression used in preload instruction"
 msgstr ""
 
-#: config/tc-arm.c:7277 config/tc-arm.c:7292
+#: config/tc-arm.c:7279 config/tc-arm.c:7294
 msgid "writeback used in preload instruction"
 msgstr ""
 
-#: config/tc-arm.c:7279 config/tc-arm.c:7294
+#: config/tc-arm.c:7281 config/tc-arm.c:7296
 msgid "unindexed addressing used in preload instruction"
 msgstr ""
 
-#: config/tc-arm.c:7288
+#: config/tc-arm.c:7290
 msgid "'[' expected after PLI mnemonic"
 msgstr ""
 
-#: config/tc-arm.c:7441 config/tc-arm.c:9884
+#: config/tc-arm.c:7443 config/tc-arm.c:9886
 msgid "rdhi and rdlo must be different"
 msgstr ""
 
-#: config/tc-arm.c:7467
+#: config/tc-arm.c:7469
 msgid "SRS base register must be r13"
 msgstr ""
 
-#: config/tc-arm.c:7511
+#: config/tc-arm.c:7513
 msgid "can only store two consecutive registers"
 msgstr ""
 
-#: config/tc-arm.c:7606 config/tc-arm.c:7623
+#: config/tc-arm.c:7608 config/tc-arm.c:7625
 msgid "only two consecutive VFP SP registers allowed here"
 msgstr ""
 
-#: config/tc-arm.c:7651 config/tc-arm.c:7666
+#: config/tc-arm.c:7653 config/tc-arm.c:7668
 msgid "this addressing mode requires base-register writeback"
 msgstr ""
 
-#: config/tc-arm.c:7841
+#: config/tc-arm.c:7843
 msgid "this instruction does not support indexing"
 msgstr ""
 
-#: config/tc-arm.c:7865
+#: config/tc-arm.c:7867
 msgid "only r15 allowed here"
 msgstr ""
 
-#: config/tc-arm.c:8000
+#: config/tc-arm.c:8002
 msgid "immediate operand requires iWMMXt2"
 msgstr ""
 
-#: config/tc-arm.c:8144
+#: config/tc-arm.c:8146
 msgid "shift by register not allowed in thumb mode"
 msgstr ""
 
-#: config/tc-arm.c:8156 config/tc-arm.c:18197
+#: config/tc-arm.c:8158 config/tc-arm.c:18199
 msgid "shift expression is too large"
 msgstr ""
 
-#: config/tc-arm.c:8182
+#: config/tc-arm.c:8184
 msgid "Instruction does not support =N addresses"
 msgstr ""
 
-#: config/tc-arm.c:8187
+#: config/tc-arm.c:8189
 msgid "cannot use register index with PC-relative addressing"
 msgstr ""
 
-#: config/tc-arm.c:8188
+#: config/tc-arm.c:8190
 msgid "cannot use register index with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:8190
+#: config/tc-arm.c:8192
 msgid "Thumb does not support negative register indexing"
 msgstr ""
 
-#: config/tc-arm.c:8192
+#: config/tc-arm.c:8194
 msgid "Thumb does not support register post-indexing"
 msgstr ""
 
-#: config/tc-arm.c:8194
+#: config/tc-arm.c:8196
 msgid "Thumb does not support register indexing with writeback"
 msgstr ""
 
-#: config/tc-arm.c:8196
+#: config/tc-arm.c:8198
 msgid "Thumb supports only LSL in shifted register indexing"
 msgstr ""
 
-#: config/tc-arm.c:8205 config/tc-arm.c:12946
+#: config/tc-arm.c:8207 config/tc-arm.c:12948
 msgid "shift out of range"
 msgstr ""
 
-#: config/tc-arm.c:8213
+#: config/tc-arm.c:8215
 msgid "cannot use writeback with PC-relative addressing"
 msgstr ""
 
-#: config/tc-arm.c:8215
+#: config/tc-arm.c:8217
 msgid "cannot use writeback with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:8234
+#: config/tc-arm.c:8236
 msgid "cannot use post-indexing with PC-relative addressing"
 msgstr ""
 
-#: config/tc-arm.c:8235
+#: config/tc-arm.c:8237
 msgid "cannot use post-indexing with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:8362
+#: config/tc-arm.c:8364
 msgid "PC not allowed as destination"
 msgstr ""
 
-#: config/tc-arm.c:8433
+#: config/tc-arm.c:8435
 msgid "only SUBS PC, LR, #const allowed"
 msgstr ""
 
-#: config/tc-arm.c:8506 config/tc-arm.c:8647 config/tc-arm.c:8739
-#: config/tc-arm.c:9759
+#: config/tc-arm.c:8508 config/tc-arm.c:8649 config/tc-arm.c:8741
+#: config/tc-arm.c:9761
 msgid "shift must be constant"
 msgstr ""
 
-#: config/tc-arm.c:8533 config/tc-arm.c:8662 config/tc-arm.c:8754
-#: config/tc-arm.c:9772
+#: config/tc-arm.c:8535 config/tc-arm.c:8664 config/tc-arm.c:8756
+#: config/tc-arm.c:9774
 msgid "unshifted register required"
 msgstr ""
 
-#: config/tc-arm.c:8548 config/tc-arm.c:8765 config/tc-arm.c:9871
+#: config/tc-arm.c:8550 config/tc-arm.c:8767 config/tc-arm.c:9873
 msgid "dest must overlap one source register"
 msgstr ""
 
-#: config/tc-arm.c:8665
+#: config/tc-arm.c:8667
 msgid "dest and source1 must be the same register"
 msgstr ""
 
-#: config/tc-arm.c:8916
+#: config/tc-arm.c:8918
 msgid "instruction is always unconditional"
 msgstr ""
 
-#: config/tc-arm.c:8998
+#: config/tc-arm.c:9000
 msgid "selected processor does not support 'A' form of this instruction"
 msgstr ""
 
-#: config/tc-arm.c:9001
+#: config/tc-arm.c:9003
 msgid "Thumb does not support the 2-argument form of this instruction"
 msgstr ""
 
-#: config/tc-arm.c:9100
+#: config/tc-arm.c:9102
 msgid "SP not allowed in register list"
 msgstr ""
 
-#: config/tc-arm.c:9105
+#: config/tc-arm.c:9107
 msgid "LR and PC should not both be in register list"
 msgstr ""
 
-#: config/tc-arm.c:9109
+#: config/tc-arm.c:9111
 msgid "base register should not be in register list when written back"
 msgstr ""
 
-#: config/tc-arm.c:9115
+#: config/tc-arm.c:9117
 msgid "PC not allowed in register list"
 msgstr ""
 
-#: config/tc-arm.c:9118 config/tc-arm.c:9184 config/tc-arm.c:9224
+#: config/tc-arm.c:9120 config/tc-arm.c:9186 config/tc-arm.c:9226
 #, c-format
 msgid "value stored for r%d is UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:9160
+#: config/tc-arm.c:9162
 msgid "Thumb load/store multiple does not support {reglist}^"
 msgstr ""
 
-#: config/tc-arm.c:9217
+#: config/tc-arm.c:9219
 msgid "Thumb-2 instruction only valid in unified syntax"
 msgstr ""
 
-#: config/tc-arm.c:9221 config/tc-arm.c:9231
+#: config/tc-arm.c:9223 config/tc-arm.c:9233
 msgid "this instruction will write back the base register"
 msgstr ""
 
-#: config/tc-arm.c:9234
+#: config/tc-arm.c:9236
 msgid "this instruction will not write back the base register"
 msgstr ""
 
-#: config/tc-arm.c:9263
+#: config/tc-arm.c:9265
 msgid "r14 not allowed as first register when second register is omitted"
 msgstr ""
 
-#: config/tc-arm.c:9360 config/tc-arm.c:9373 config/tc-arm.c:9409
+#: config/tc-arm.c:9362 config/tc-arm.c:9375 config/tc-arm.c:9411
 msgid "Thumb does not support this addressing mode"
 msgstr ""
 
-#: config/tc-arm.c:9377
+#: config/tc-arm.c:9379
 msgid "byte or halfword not valid for base register"
 msgstr ""
 
-#: config/tc-arm.c:9380
+#: config/tc-arm.c:9382
 msgid "r15 based store not allowed"
 msgstr ""
 
-#: config/tc-arm.c:9382
+#: config/tc-arm.c:9384
 msgid "invalid base register for register offset"
 msgstr ""
 
-#: config/tc-arm.c:9680
+#: config/tc-arm.c:9682
 msgid "only lo regs allowed with immediate"
 msgstr ""
 
-#: config/tc-arm.c:9700
+#: config/tc-arm.c:9702
 msgid ":upper16: not allowed this instruction"
 msgstr ""
 
-#: config/tc-arm.c:9794 config/tc-arm.c:9826 config/tc-arm.c:9832
+#: config/tc-arm.c:9796 config/tc-arm.c:9828 config/tc-arm.c:9834
 msgid "selected processor does not support requested special purpose register"
 msgstr ""
 
-#: config/tc-arm.c:9800
+#: config/tc-arm.c:9802
 #, c-format
 msgid ""
 "selected processor does not support requested special purpose register %x"
 msgstr ""
 
-#: config/tc-arm.c:9821
+#: config/tc-arm.c:9823
 msgid "Thumb encoding does not support an immediate here"
 msgstr ""
 
-#: config/tc-arm.c:9906
+#: config/tc-arm.c:9908
 msgid "Thumb does not support NOP with hints"
 msgstr ""
 
-#: config/tc-arm.c:9988
+#: config/tc-arm.c:9990
 msgid "push/pop do not support {reglist}^"
 msgstr ""
 
-#: config/tc-arm.c:10011
+#: config/tc-arm.c:10013
 msgid "invalid register list to push/pop instruction"
 msgstr ""
 
-#: config/tc-arm.c:10203
+#: config/tc-arm.c:10205
 msgid "source1 and dest must be same register"
 msgstr ""
 
-#: config/tc-arm.c:10224
+#: config/tc-arm.c:10226
 msgid "ror #imm not supported"
 msgstr ""
 
-#: config/tc-arm.c:10349
+#: config/tc-arm.c:10351
 msgid "Thumb encoding does not support rotation"
 msgstr ""
 
-#: config/tc-arm.c:10368
+#: config/tc-arm.c:10370
 msgid "instruction requires register index"
 msgstr ""
 
-#: config/tc-arm.c:10370
+#: config/tc-arm.c:10372
 msgid "PC is not a valid index register"
 msgstr ""
 
-#: config/tc-arm.c:10372
+#: config/tc-arm.c:10374
 msgid "instruction does not allow shifted index"
 msgstr ""
 
-#: config/tc-arm.c:10791
+#: config/tc-arm.c:10793
 msgid "invalid instruction shape"
 msgstr ""
 
-#: config/tc-arm.c:11033
+#: config/tc-arm.c:11035
 msgid "types specified in both the mnemonic and operands"
 msgstr ""
 
-#: config/tc-arm.c:11070
+#: config/tc-arm.c:11072
 msgid "operand types can't be inferred"
 msgstr ""
 
-#: config/tc-arm.c:11076
+#: config/tc-arm.c:11078
 msgid "type specifier has the wrong number of parts"
 msgstr ""
 
-#: config/tc-arm.c:11131
+#: config/tc-arm.c:11133
 msgid "operand size must match register width"
 msgstr ""
 
-#: config/tc-arm.c:11142
+#: config/tc-arm.c:11144
 msgid "bad type in Neon instruction"
 msgstr ""
 
-#: config/tc-arm.c:11153
+#: config/tc-arm.c:11155
 msgid "inconsistent types in Neon instruction"
 msgstr ""
 
-#: config/tc-arm.c:12202
+#: config/tc-arm.c:12204
 msgid "scalar out of range for multiply instruction"
 msgstr ""
 
-#: config/tc-arm.c:12366 config/tc-arm.c:12378
+#: config/tc-arm.c:12368 config/tc-arm.c:12380
 msgid "immediate out of range for insert"
 msgstr ""
 
-#: config/tc-arm.c:12390 config/tc-arm.c:13292
+#: config/tc-arm.c:12392 config/tc-arm.c:13294
 msgid "immediate out of range for shift"
 msgstr ""
 
-#: config/tc-arm.c:12447 config/tc-arm.c:12474 config/tc-arm.c:12792
-#: config/tc-arm.c:13238
+#: config/tc-arm.c:12449 config/tc-arm.c:12476 config/tc-arm.c:12794
+#: config/tc-arm.c:13240
 msgid "immediate out of range"
 msgstr ""
 
-#: config/tc-arm.c:12511
+#: config/tc-arm.c:12513
 msgid "immediate out of range for narrowing operation"
 msgstr ""
 
-#: config/tc-arm.c:12631
+#: config/tc-arm.c:12633
 msgid "operands 0 and 1 must be the same register"
 msgstr ""
 
-#: config/tc-arm.c:12766
+#: config/tc-arm.c:12768
 msgid "operand size must be specified for immediate VMOV"
 msgstr ""
 
-#: config/tc-arm.c:12776
+#: config/tc-arm.c:12778
 msgid "immediate has bits set outside the operand size"
 msgstr ""
 
-#: config/tc-arm.c:12972
+#: config/tc-arm.c:12974
 msgid "elements must be smaller than reversal region"
 msgstr ""
 
-#: config/tc-arm.c:13143 config/tc-arm.c:13191
+#: config/tc-arm.c:13145 config/tc-arm.c:13193
 msgid "bad type for scalar"
 msgstr ""
 
-#: config/tc-arm.c:13255 config/tc-arm.c:13263
+#: config/tc-arm.c:13257 config/tc-arm.c:13265
 msgid "VFP registers must be adjacent"
 msgstr ""
 
-#: config/tc-arm.c:13404
+#: config/tc-arm.c:13406
 msgid "bad list length for table lookup"
 msgstr ""
 
-#: config/tc-arm.c:13434
+#: config/tc-arm.c:13436
 msgid "writeback (!) must be used for VLDMDB and VSTMDB"
 msgstr ""
 
-#: config/tc-arm.c:13437
+#: config/tc-arm.c:13439
 msgid "register list must contain at least 1 and at most 16 registers"
 msgstr ""
 
-#: config/tc-arm.c:13514
+#: config/tc-arm.c:13516
 msgid "bad alignment"
 msgstr ""
 
-#: config/tc-arm.c:13531
+#: config/tc-arm.c:13533
 msgid "bad list type for instruction"
 msgstr ""
 
-#: config/tc-arm.c:13573
+#: config/tc-arm.c:13575
 msgid "unsupported alignment for instruction"
 msgstr ""
 
-#: config/tc-arm.c:13592 config/tc-arm.c:13686 config/tc-arm.c:13697
-#: config/tc-arm.c:13707 config/tc-arm.c:13721
+#: config/tc-arm.c:13594 config/tc-arm.c:13688 config/tc-arm.c:13699
+#: config/tc-arm.c:13709 config/tc-arm.c:13723
 msgid "bad list length"
 msgstr ""
 
-#: config/tc-arm.c:13597
+#: config/tc-arm.c:13599
 msgid "stride of 2 unavailable when element size is 8"
 msgstr ""
 
-#: config/tc-arm.c:13630 config/tc-arm.c:13705
+#: config/tc-arm.c:13632 config/tc-arm.c:13707
 msgid "can't use alignment with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:13769
+#: config/tc-arm.c:13771
 msgid "post-index must be a register"
 msgstr ""
 
-#: config/tc-arm.c:13771
+#: config/tc-arm.c:13773
 msgid "bad register for post-index"
 msgstr ""
 
-#: config/tc-arm.c:14058 config/tc-arm.c:14144
+#: config/tc-arm.c:14060 config/tc-arm.c:14146
 msgid "conditional infixes are deprecated in unified syntax"
 msgstr ""
 
-#: config/tc-arm.c:14183
+#: config/tc-arm.c:14185
 msgid "s suffix on comparison instruction is deprecated"
 msgstr ""
 
-#: config/tc-arm.c:14202 config/tc-arm.c:14283
+#: config/tc-arm.c:14204 config/tc-arm.c:14285
 #, c-format
 msgid "selected processor does not support `%s'"
 msgstr ""
 
-#: config/tc-arm.c:14208
+#: config/tc-arm.c:14210
 msgid "Thumb does not support conditional execution"
 msgstr ""
 
-#: config/tc-arm.c:14231
+#: config/tc-arm.c:14233
 msgid "incorrect condition in IT block"
 msgstr ""
 
-#: config/tc-arm.c:14237
+#: config/tc-arm.c:14239
 msgid "thumb conditional instruction not in IT block"
 msgstr ""
 
-#: config/tc-arm.c:14257
+#: config/tc-arm.c:14259
 #, c-format
 msgid "cannot honor width suffix -- `%s'"
 msgstr ""
 
-#: config/tc-arm.c:14288
+#: config/tc-arm.c:14290
 #, c-format
 msgid "width suffixes are invalid in ARM mode -- `%s'"
 msgstr ""
 
-#: config/tc-arm.c:14312
+#: config/tc-arm.c:14314
 #, c-format
 msgid "attempt to use an ARM instruction on a Thumb-only processor -- `%s'"
 msgstr ""
 
-#: config/tc-arm.c:17063
+#: config/tc-arm.c:17065
 msgid "alignments greater than 32 bytes not supported in .text sections."
 msgstr ""
 
-#: config/tc-arm.c:17312 config/tc-ia64.c:3756
+#: config/tc-arm.c:17314 config/tc-ia64.c:3756
 #, c-format
 msgid "Group section `%s' has no group signature"
 msgstr ""
 
-#: config/tc-arm.c:17357
+#: config/tc-arm.c:17359
 msgid "handerdata in cantunwind frame"
 msgstr ""
 
-#: config/tc-arm.c:17374
+#: config/tc-arm.c:17376
 msgid "too many unwind opcodes for personality routine 0"
 msgstr ""
 
-#: config/tc-arm.c:17406
+#: config/tc-arm.c:17408
 msgid "too many unwind opcodes"
 msgstr ""
 
-#: config/tc-arm.c:17630
+#: config/tc-arm.c:17632
 msgid "GOT already in the symbol table"
 msgstr ""
 
-#: config/tc-arm.c:17940 config/tc-arm.c:18224
+#: config/tc-arm.c:17942 config/tc-arm.c:18226
 #, c-format
 msgid "undefined symbol %s used as an immediate value"
 msgstr ""
 
-#: config/tc-arm.c:17954 config/tc-arm.c:18263
+#: config/tc-arm.c:17956 config/tc-arm.c:18265
 #, c-format
 msgid "invalid constant (%lx) after fixup"
 msgstr ""
 
-#: config/tc-arm.c:17991
+#: config/tc-arm.c:17993
 #, c-format
 msgid "unable to compute ADRL instructions for PC offset of 0x%lx"
 msgstr ""
 
-#: config/tc-arm.c:18026 config/tc-arm.c:18051
+#: config/tc-arm.c:18028 config/tc-arm.c:18053
 msgid "invalid literal constant: pool needs to be closer"
 msgstr ""
 
-#: config/tc-arm.c:18029 config/tc-arm.c:18067
+#: config/tc-arm.c:18031 config/tc-arm.c:18069
 #, c-format
 msgid "bad immediate value for offset (%ld)"
 msgstr ""
 
-#: config/tc-arm.c:18053
+#: config/tc-arm.c:18055
 #, c-format
 msgid "bad immediate value for 8-bit offset (%ld)"
 msgstr ""
 
-#: config/tc-arm.c:18108
+#: config/tc-arm.c:18110
 msgid "offset not a multiple of 4"
 msgstr ""
 
-#: config/tc-arm.c:18115 config/tc-arm.c:18130 config/tc-arm.c:18145
-#: config/tc-arm.c:18156 config/tc-arm.c:18179 config/tc-arm.c:18774
-#: config/tc-pj.c:498 config/tc-sh.c:4214
+#: config/tc-arm.c:18117 config/tc-arm.c:18132 config/tc-arm.c:18147
+#: config/tc-arm.c:18158 config/tc-arm.c:18181 config/tc-arm.c:18776
+#: config/tc-pj.c:450 config/tc-sh.c:4164
 msgid "offset out of range"
 msgstr ""
 
-#: config/tc-arm.c:18279
+#: config/tc-arm.c:18281
 msgid "invalid smc expression"
 msgstr ""
 
-#: config/tc-arm.c:18290 config/tc-arm.c:18299
+#: config/tc-arm.c:18292 config/tc-arm.c:18301
 msgid "invalid swi expression"
 msgstr ""
 
-#: config/tc-arm.c:18309
+#: config/tc-arm.c:18311
 msgid "invalid expression in load/store multiple"
 msgstr ""
 
-#: config/tc-arm.c:18339
+#: config/tc-arm.c:18341
 msgid "misaligned branch destination"
 msgstr ""
 
-#: config/tc-arm.c:18343 config/tc-arm.c:18380 config/tc-arm.c:18394
-#: config/tc-arm.c:18407 config/tc-arm.c:18446 config/tc-arm.c:18471
+#: config/tc-arm.c:18345 config/tc-arm.c:18382 config/tc-arm.c:18396
+#: config/tc-arm.c:18409 config/tc-arm.c:18448 config/tc-arm.c:18473
 msgid "branch out of range"
 msgstr ""
 
-#: config/tc-arm.c:18420
+#: config/tc-arm.c:18422
 msgid "conditional branch out of range"
 msgstr ""
 
-#: config/tc-arm.c:18548
+#: config/tc-arm.c:18550
 msgid "rel31 relocation overflow"
 msgstr ""
 
-#: config/tc-arm.c:18560 config/tc-arm.c:18583
+#: config/tc-arm.c:18562 config/tc-arm.c:18585
 msgid "co-processor offset out of range"
 msgstr ""
 
-#: config/tc-arm.c:18600
+#: config/tc-arm.c:18602
 #, c-format
 msgid "invalid offset, target not word aligned (0x%08lX)"
 msgstr ""
 
-#: config/tc-arm.c:18607 config/tc-arm.c:18616 config/tc-arm.c:18624
-#: config/tc-arm.c:18632 config/tc-arm.c:18640
+#: config/tc-arm.c:18609 config/tc-arm.c:18618 config/tc-arm.c:18626
+#: config/tc-arm.c:18634 config/tc-arm.c:18642
 #, c-format
 msgid "invalid offset, value too big (0x%08lX)"
 msgstr ""
 
-#: config/tc-arm.c:18681
+#: config/tc-arm.c:18683
 msgid "invalid Hi register with immediate"
 msgstr ""
 
-#: config/tc-arm.c:18697
+#: config/tc-arm.c:18699
 msgid "invalid immediate for stack address calculation"
 msgstr ""
 
-#: config/tc-arm.c:18705
+#: config/tc-arm.c:18707
 #, c-format
 msgid "invalid immediate for address calculation (value = 0x%08lX)"
 msgstr ""
 
-#: config/tc-arm.c:18735
+#: config/tc-arm.c:18737
 #, c-format
 msgid "invalid immediate: %ld is out of range"
 msgstr ""
 
-#: config/tc-arm.c:18747
+#: config/tc-arm.c:18749
 #, c-format
 msgid "invalid shift value: %ld"
 msgstr ""
 
-#: config/tc-arm.c:18826
+#: config/tc-arm.c:18828
 #, c-format
 msgid "the offset 0x%08lX is not representable"
 msgstr ""
 
-#: config/tc-arm.c:18866
+#: config/tc-arm.c:18868
 #, c-format
 msgid "bad offset 0x%08lX (only 12 bits available for the magnitude)"
 msgstr ""
 
-#: config/tc-arm.c:18905
+#: config/tc-arm.c:18907
 #, c-format
 msgid "bad offset 0x%08lX (only 8 bits available for the magnitude)"
 msgstr ""
 
-#: config/tc-arm.c:18945
+#: config/tc-arm.c:18947
 #, c-format
 msgid "bad offset 0x%08lX (must be word-aligned)"
 msgstr ""
 
-#: config/tc-arm.c:18950
+#: config/tc-arm.c:18952
 #, c-format
 msgid "bad offset 0x%08lX (must be an 8-bit number of words)"
 msgstr ""
 
-#: config/tc-arm.c:18976 config/tc-score.c:5480
+#: config/tc-arm.c:18978 config/tc-score.c:5410
 #, c-format
 msgid "bad relocation fixup type (%d)"
 msgstr ""
 
-#: config/tc-arm.c:19079
+#: config/tc-arm.c:19081
 msgid "literal referenced across section boundary"
 msgstr ""
 
-#: config/tc-arm.c:19139
+#: config/tc-arm.c:19141
 msgid "internal relocation (type: IMMEDIATE) not fixed up"
 msgstr ""
 
-#: config/tc-arm.c:19144
+#: config/tc-arm.c:19146
 msgid "ADRL used for a symbol not defined in the same file"
 msgstr ""
 
-#: config/tc-arm.c:19159
+#: config/tc-arm.c:19161
 #, c-format
 msgid "undefined local label `%s'"
 msgstr ""
 
-#: config/tc-arm.c:19165
+#: config/tc-arm.c:19167
 msgid "internal_relocation (type: OFFSET_IMM) not fixed up"
 msgstr ""
 
-#: config/tc-arm.c:19186 config/tc-cris.c:3925 config/tc-mcore.c:1992
-#: config/tc-mmix.c:2887 config/tc-ns32k.c:2282 config/tc-score.c:5571
+#: config/tc-arm.c:19188 config/tc-cris.c:3925 config/tc-mcore.c:1926
+#: config/tc-mmix.c:2859 config/tc-ns32k.c:2248 config/tc-score.c:5501
 msgid "<unknown>"
 msgstr ""
 
-#: config/tc-arm.c:19189 config/tc-arm.c:19210 config/tc-score.c:5573
+#: config/tc-arm.c:19191 config/tc-arm.c:19212 config/tc-score.c:5503
 #, c-format
 msgid "cannot represent %s relocation in this object file format"
 msgstr ""
 
-#: config/tc-arm.c:19444
+#: config/tc-arm.c:19446
 #, c-format
 msgid "%s: unexpected function type: %d"
 msgstr ""
 
-#: config/tc-arm.c:19567
+#: config/tc-arm.c:19569
 msgid "use of old and new-style options to set CPU type"
 msgstr ""
 
-#: config/tc-arm.c:19577
+#: config/tc-arm.c:19579
 msgid "use of old and new-style options to set FPU type"
 msgstr ""
 
-#: config/tc-arm.c:19652
+#: config/tc-arm.c:19654
 msgid "hard-float conflicts with specified fpu"
 msgstr ""
 
-#: config/tc-arm.c:19835
+#: config/tc-arm.c:19837
 msgid "generate PIC code"
 msgstr ""
 
-#: config/tc-arm.c:19836
+#: config/tc-arm.c:19838
 msgid "assemble Thumb code"
 msgstr ""
 
-#: config/tc-arm.c:19837
+#: config/tc-arm.c:19839
 msgid "support ARM/Thumb interworking"
 msgstr ""
 
-#: config/tc-arm.c:19839
+#: config/tc-arm.c:19841
 msgid "code uses 32-bit program counter"
 msgstr ""
 
-#: config/tc-arm.c:19840
+#: config/tc-arm.c:19842
 msgid "code uses 26-bit program counter"
 msgstr ""
 
-#: config/tc-arm.c:19841
+#: config/tc-arm.c:19843
 msgid "floating point args are in fp regs"
 msgstr ""
 
-#: config/tc-arm.c:19843
+#: config/tc-arm.c:19845
 msgid "re-entrant code"
 msgstr ""
 
-#: config/tc-arm.c:19844
+#: config/tc-arm.c:19846
 msgid "code is ATPCS conformant"
 msgstr ""
 
-#: config/tc-arm.c:19845
+#: config/tc-arm.c:19847
 msgid "assemble for big-endian"
 msgstr ""
 
-#: config/tc-arm.c:19846
+#: config/tc-arm.c:19848
 msgid "assemble for little-endian"
 msgstr ""
 
 #. These are recognized by the assembler, but have no affect on code.
-#: config/tc-arm.c:19850
+#: config/tc-arm.c:19852
 msgid "use frame pointer"
 msgstr ""
 
-#: config/tc-arm.c:19851
+#: config/tc-arm.c:19853
 msgid "use stack size checking"
 msgstr ""
 
 #. DON'T add any new processors to this list -- we want the whole list
 #. to go away...  Add them to the processors table instead.
-#: config/tc-arm.c:19867 config/tc-arm.c:19868
+#: config/tc-arm.c:19869 config/tc-arm.c:19870
 msgid "use -mcpu=arm1"
 msgstr ""
 
-#: config/tc-arm.c:19869 config/tc-arm.c:19870
+#: config/tc-arm.c:19871 config/tc-arm.c:19872
 msgid "use -mcpu=arm2"
 msgstr ""
 
-#: config/tc-arm.c:19871 config/tc-arm.c:19872
+#: config/tc-arm.c:19873 config/tc-arm.c:19874
 msgid "use -mcpu=arm250"
 msgstr ""
 
-#: config/tc-arm.c:19873 config/tc-arm.c:19874
+#: config/tc-arm.c:19875 config/tc-arm.c:19876
 msgid "use -mcpu=arm3"
 msgstr ""
 
-#: config/tc-arm.c:19875 config/tc-arm.c:19876
+#: config/tc-arm.c:19877 config/tc-arm.c:19878
 msgid "use -mcpu=arm6"
 msgstr ""
 
-#: config/tc-arm.c:19877 config/tc-arm.c:19878
+#: config/tc-arm.c:19879 config/tc-arm.c:19880
 msgid "use -mcpu=arm600"
 msgstr ""
 
-#: config/tc-arm.c:19879 config/tc-arm.c:19880
+#: config/tc-arm.c:19881 config/tc-arm.c:19882
 msgid "use -mcpu=arm610"
 msgstr ""
 
-#: config/tc-arm.c:19881 config/tc-arm.c:19882
+#: config/tc-arm.c:19883 config/tc-arm.c:19884
 msgid "use -mcpu=arm620"
 msgstr ""
 
-#: config/tc-arm.c:19883 config/tc-arm.c:19884
+#: config/tc-arm.c:19885 config/tc-arm.c:19886
 msgid "use -mcpu=arm7"
 msgstr ""
 
-#: config/tc-arm.c:19885 config/tc-arm.c:19886
+#: config/tc-arm.c:19887 config/tc-arm.c:19888
 msgid "use -mcpu=arm70"
 msgstr ""
 
-#: config/tc-arm.c:19887 config/tc-arm.c:19888
+#: config/tc-arm.c:19889 config/tc-arm.c:19890
 msgid "use -mcpu=arm700"
 msgstr ""
 
-#: config/tc-arm.c:19889 config/tc-arm.c:19890
+#: config/tc-arm.c:19891 config/tc-arm.c:19892
 msgid "use -mcpu=arm700i"
 msgstr ""
 
-#: config/tc-arm.c:19891 config/tc-arm.c:19892
+#: config/tc-arm.c:19893 config/tc-arm.c:19894
 msgid "use -mcpu=arm710"
 msgstr ""
 
-#: config/tc-arm.c:19893 config/tc-arm.c:19894
+#: config/tc-arm.c:19895 config/tc-arm.c:19896
 msgid "use -mcpu=arm710c"
 msgstr ""
 
-#: config/tc-arm.c:19895 config/tc-arm.c:19896
+#: config/tc-arm.c:19897 config/tc-arm.c:19898
 msgid "use -mcpu=arm720"
 msgstr ""
 
-#: config/tc-arm.c:19897 config/tc-arm.c:19898
+#: config/tc-arm.c:19899 config/tc-arm.c:19900
 msgid "use -mcpu=arm7d"
 msgstr ""
 
-#: config/tc-arm.c:19899 config/tc-arm.c:19900
+#: config/tc-arm.c:19901 config/tc-arm.c:19902
 msgid "use -mcpu=arm7di"
 msgstr ""
 
-#: config/tc-arm.c:19901 config/tc-arm.c:19902
+#: config/tc-arm.c:19903 config/tc-arm.c:19904
 msgid "use -mcpu=arm7m"
 msgstr ""
 
-#: config/tc-arm.c:19903 config/tc-arm.c:19904
+#: config/tc-arm.c:19905 config/tc-arm.c:19906
 msgid "use -mcpu=arm7dm"
 msgstr ""
 
-#: config/tc-arm.c:19905 config/tc-arm.c:19906
+#: config/tc-arm.c:19907 config/tc-arm.c:19908
 msgid "use -mcpu=arm7dmi"
 msgstr ""
 
-#: config/tc-arm.c:19907 config/tc-arm.c:19908
+#: config/tc-arm.c:19909 config/tc-arm.c:19910
 msgid "use -mcpu=arm7100"
 msgstr ""
 
-#: config/tc-arm.c:19909 config/tc-arm.c:19910
+#: config/tc-arm.c:19911 config/tc-arm.c:19912
 msgid "use -mcpu=arm7500"
 msgstr ""
 
-#: config/tc-arm.c:19911 config/tc-arm.c:19912
+#: config/tc-arm.c:19913 config/tc-arm.c:19914
 msgid "use -mcpu=arm7500fe"
 msgstr ""
 
-#: config/tc-arm.c:19913 config/tc-arm.c:19914 config/tc-arm.c:19915
-#: config/tc-arm.c:19916
+#: config/tc-arm.c:19915 config/tc-arm.c:19916 config/tc-arm.c:19917
+#: config/tc-arm.c:19918
 msgid "use -mcpu=arm7tdmi"
 msgstr ""
 
-#: config/tc-arm.c:19917 config/tc-arm.c:19918
+#: config/tc-arm.c:19919 config/tc-arm.c:19920
 msgid "use -mcpu=arm710t"
 msgstr ""
 
-#: config/tc-arm.c:19919 config/tc-arm.c:19920
+#: config/tc-arm.c:19921 config/tc-arm.c:19922
 msgid "use -mcpu=arm720t"
 msgstr ""
 
-#: config/tc-arm.c:19921 config/tc-arm.c:19922
+#: config/tc-arm.c:19923 config/tc-arm.c:19924
 msgid "use -mcpu=arm740t"
 msgstr ""
 
-#: config/tc-arm.c:19923 config/tc-arm.c:19924
+#: config/tc-arm.c:19925 config/tc-arm.c:19926
 msgid "use -mcpu=arm8"
 msgstr ""
 
-#: config/tc-arm.c:19925 config/tc-arm.c:19926
+#: config/tc-arm.c:19927 config/tc-arm.c:19928
 msgid "use -mcpu=arm810"
 msgstr ""
 
-#: config/tc-arm.c:19927 config/tc-arm.c:19928
+#: config/tc-arm.c:19929 config/tc-arm.c:19930
 msgid "use -mcpu=arm9"
 msgstr ""
 
-#: config/tc-arm.c:19929 config/tc-arm.c:19930
+#: config/tc-arm.c:19931 config/tc-arm.c:19932
 msgid "use -mcpu=arm9tdmi"
 msgstr ""
 
-#: config/tc-arm.c:19931 config/tc-arm.c:19932
+#: config/tc-arm.c:19933 config/tc-arm.c:19934
 msgid "use -mcpu=arm920"
 msgstr ""
 
-#: config/tc-arm.c:19933 config/tc-arm.c:19934
+#: config/tc-arm.c:19935 config/tc-arm.c:19936
 msgid "use -mcpu=arm940"
 msgstr ""
 
-#: config/tc-arm.c:19935
+#: config/tc-arm.c:19937
 msgid "use -mcpu=strongarm"
 msgstr ""
 
-#: config/tc-arm.c:19937
+#: config/tc-arm.c:19939
 msgid "use -mcpu=strongarm110"
 msgstr ""
 
-#: config/tc-arm.c:19939
+#: config/tc-arm.c:19941
 msgid "use -mcpu=strongarm1100"
 msgstr ""
 
-#: config/tc-arm.c:19941
+#: config/tc-arm.c:19943
 msgid "use -mcpu=strongarm1110"
 msgstr ""
 
-#: config/tc-arm.c:19942
+#: config/tc-arm.c:19944
 msgid "use -mcpu=xscale"
 msgstr ""
 
-#: config/tc-arm.c:19943
+#: config/tc-arm.c:19945
 msgid "use -mcpu=iwmmxt"
 msgstr ""
 
-#: config/tc-arm.c:19944
+#: config/tc-arm.c:19946
 msgid "use -mcpu=all"
 msgstr ""
 
 #. Architecture variants -- don't add any more to this list either.
-#: config/tc-arm.c:19947 config/tc-arm.c:19948
+#: config/tc-arm.c:19949 config/tc-arm.c:19950
 msgid "use -march=armv2"
 msgstr ""
 
-#: config/tc-arm.c:19949 config/tc-arm.c:19950
+#: config/tc-arm.c:19951 config/tc-arm.c:19952
 msgid "use -march=armv2a"
 msgstr ""
 
-#: config/tc-arm.c:19951 config/tc-arm.c:19952
+#: config/tc-arm.c:19953 config/tc-arm.c:19954
 msgid "use -march=armv3"
 msgstr ""
 
-#: config/tc-arm.c:19953 config/tc-arm.c:19954
+#: config/tc-arm.c:19955 config/tc-arm.c:19956
 msgid "use -march=armv3m"
 msgstr ""
 
-#: config/tc-arm.c:19955 config/tc-arm.c:19956
+#: config/tc-arm.c:19957 config/tc-arm.c:19958
 msgid "use -march=armv4"
 msgstr ""
 
-#: config/tc-arm.c:19957 config/tc-arm.c:19958
+#: config/tc-arm.c:19959 config/tc-arm.c:19960
 msgid "use -march=armv4t"
 msgstr ""
 
-#: config/tc-arm.c:19959 config/tc-arm.c:19960
+#: config/tc-arm.c:19961 config/tc-arm.c:19962
 msgid "use -march=armv5"
 msgstr ""
 
-#: config/tc-arm.c:19961 config/tc-arm.c:19962
+#: config/tc-arm.c:19963 config/tc-arm.c:19964
 msgid "use -march=armv5t"
 msgstr ""
 
-#: config/tc-arm.c:19963 config/tc-arm.c:19964
+#: config/tc-arm.c:19965 config/tc-arm.c:19966
 msgid "use -march=armv5te"
 msgstr ""
 
 #. Floating point variants -- don't add any more to this list either.
-#: config/tc-arm.c:19967
+#: config/tc-arm.c:19969
 msgid "use -mfpu=fpe"
 msgstr ""
 
-#: config/tc-arm.c:19968
+#: config/tc-arm.c:19970
 msgid "use -mfpu=fpa10"
 msgstr ""
 
-#: config/tc-arm.c:19969
+#: config/tc-arm.c:19971
 msgid "use -mfpu=fpa11"
 msgstr ""
 
-#: config/tc-arm.c:19971
+#: config/tc-arm.c:19973
 msgid "use either -mfpu=softfpa or -mfpu=softvfp"
 msgstr ""
 
-#: config/tc-arm.c:20232
+#: config/tc-arm.c:20234
 msgid "invalid architectural extension"
 msgstr ""
 
-#: config/tc-arm.c:20246
+#: config/tc-arm.c:20248
 msgid "missing architectural extension"
 msgstr ""
 
-#: config/tc-arm.c:20259
+#: config/tc-arm.c:20261
 #, c-format
 msgid "unknown architectural extnsion `%s'"
 msgstr ""
 
-#: config/tc-arm.c:20283
+#: config/tc-arm.c:20285
 #, c-format
 msgid "missing cpu name `%s'"
 msgstr ""
 
-#: config/tc-arm.c:20308 config/tc-arm.c:20693
+#: config/tc-arm.c:20310 config/tc-arm.c:20695
 #, c-format
 msgid "unknown cpu `%s'"
 msgstr ""
 
-#: config/tc-arm.c:20326
+#: config/tc-arm.c:20328
 #, c-format
 msgid "missing architecture name `%s'"
 msgstr ""
 
-#: config/tc-arm.c:20343 config/tc-arm.c:20727 config/tc-arm.c:20758
+#: config/tc-arm.c:20345 config/tc-arm.c:20729 config/tc-arm.c:20760
 #, c-format
 msgid "unknown architecture `%s'\n"
 msgstr ""
 
-#: config/tc-arm.c:20359 config/tc-arm.c:20789
+#: config/tc-arm.c:20361 config/tc-arm.c:20791
 #, c-format
 msgid "unknown floating point format `%s'\n"
 msgstr ""
 
-#: config/tc-arm.c:20375
+#: config/tc-arm.c:20377
 #, c-format
 msgid "unknown floating point abi `%s'\n"
 msgstr ""
 
-#: config/tc-arm.c:20391
+#: config/tc-arm.c:20393
 #, c-format
 msgid "unknown EABI `%s'\n"
 msgstr ""
 
-#: config/tc-arm.c:20398
+#: config/tc-arm.c:20400
 msgid "<cpu name>\t  assemble for CPU <cpu name>"
 msgstr ""
 
-#: config/tc-arm.c:20400
+#: config/tc-arm.c:20402
 msgid "<arch name>\t  assemble for architecture <arch name>"
 msgstr ""
 
-#: config/tc-arm.c:20402
+#: config/tc-arm.c:20404
 msgid "<fpu name>\t  assemble for FPU architecture <fpu name>"
 msgstr ""
 
-#: config/tc-arm.c:20404
+#: config/tc-arm.c:20406
 msgid "<abi>\t  assemble for floating point ABI <abi>"
 msgstr ""
 
-#: config/tc-arm.c:20407
+#: config/tc-arm.c:20409
 msgid "<ver>\t  assemble for eabi version <ver>"
 msgstr ""
 
-#: config/tc-arm.c:20449 config/tc-arm.c:20469 config/tc-arm.c:20491
+#: config/tc-arm.c:20451 config/tc-arm.c:20471 config/tc-arm.c:20493
 #, c-format
 msgid "option `-%c%s' is deprecated: %s"
 msgstr ""
 
-#: config/tc-arm.c:20512
+#: config/tc-arm.c:20514
 #, c-format
 msgid " ARM-specific assembler options:\n"
 msgstr ""
 
-#: config/tc-arm.c:20523
+#: config/tc-arm.c:20525
 #, c-format
 msgid "  -EB                     assemble code for a big-endian cpu\n"
 msgstr ""
 
-#: config/tc-arm.c:20528
+#: config/tc-arm.c:20530
 #, c-format
 msgid "  -EL                     assemble code for a little-endian cpu\n"
 msgstr ""
 
-#: config/tc-avr.c:262
+#: config/tc-avr.c:264
 #, c-format
 msgid "Known MCU names:"
 msgstr ""
 
-#: config/tc-avr.c:328
+#: config/tc-avr.c:330
 #, c-format
 msgid ""
 "AVR options:\n"
@@ -3326,7 +3312,7 @@ msgid ""
 "                   or immediate microcontroller name.\n"
 msgstr ""
 
-#: config/tc-avr.c:338
+#: config/tc-avr.c:340
 #, c-format
 msgid ""
 "  -mall-opcodes    accept all AVR opcodes, even if not supported by MCU\n"
@@ -3336,166 +3322,158 @@ msgid ""
 "                   (default for avr3, avr5)\n"
 msgstr ""
 
-#: config/tc-avr.c:382 config/tc-msp430.c:744
+#: config/tc-avr.c:384 config/tc-msp430.c:744
 #, c-format
 msgid "unknown MCU: %s\n"
 msgstr ""
 
-#: config/tc-avr.c:391
+#: config/tc-avr.c:393
 #, c-format
 msgid "redefinition of mcu type `%s' to `%s'"
 msgstr ""
 
-#: config/tc-avr.c:438 config/tc-cr16.c:699 config/tc-crx.c:491
-#: config/tc-d10v.c:277 config/tc-d30v.c:311 config/tc-maxq.c:411
-#: config/tc-mips.c:10789 config/tc-mmix.c:2263 config/tc-mn10200.c:341
-#: config/tc-msp430.c:868 config/tc-pj.c:341 config/tc-ppc.c:5236
-#: config/tc-sh.c:3076 config/tc-v850.c:1198
-msgid "bad call to md_atof"
-msgstr ""
-
-#: config/tc-avr.c:505
+#: config/tc-avr.c:471
 msgid "constant value required"
 msgstr ""
 
-#: config/tc-avr.c:508
+#: config/tc-avr.c:474
 #, c-format
 msgid "number must be positive and less than %d"
 msgstr ""
 
-#: config/tc-avr.c:534 config/tc-avr.c:669
+#: config/tc-avr.c:500 config/tc-avr.c:635
 #, c-format
 msgid "constant out of 8-bit range: %d"
 msgstr ""
 
-#: config/tc-avr.c:602 config/tc-score.c:974 read.c:3564
+#: config/tc-avr.c:568 config/tc-score.c:969 read.c:3564
 msgid "illegal expression"
 msgstr ""
 
-#: config/tc-avr.c:631 config/tc-avr.c:1390
+#: config/tc-avr.c:597 config/tc-avr.c:1356
 msgid "`)' required"
 msgstr ""
 
-#: config/tc-avr.c:652
+#: config/tc-avr.c:618
 msgid "expression dangerous with linker stubs"
 msgstr ""
 
-#: config/tc-avr.c:724
+#: config/tc-avr.c:690
 msgid "register r16-r23 required"
 msgstr ""
 
-#: config/tc-avr.c:730
+#: config/tc-avr.c:696
 msgid "register number above 15 required"
 msgstr ""
 
-#: config/tc-avr.c:736
+#: config/tc-avr.c:702
 msgid "even register number required"
 msgstr ""
 
-#: config/tc-avr.c:742
+#: config/tc-avr.c:708
 msgid "register r24, r26, r28 or r30 required"
 msgstr ""
 
-#: config/tc-avr.c:748
+#: config/tc-avr.c:714
 msgid "register name or number from 0 to 31 required"
 msgstr ""
 
-#: config/tc-avr.c:766
+#: config/tc-avr.c:732
 msgid "pointer register (X, Y or Z) required"
 msgstr ""
 
-#: config/tc-avr.c:773
+#: config/tc-avr.c:739
 msgid "cannot both predecrement and postincrement"
 msgstr ""
 
-#: config/tc-avr.c:781
+#: config/tc-avr.c:747
 msgid "addressing mode not supported"
 msgstr ""
 
-#: config/tc-avr.c:787
+#: config/tc-avr.c:753
 msgid "can't predecrement"
 msgstr ""
 
-#: config/tc-avr.c:790
+#: config/tc-avr.c:756
 msgid "pointer register Z required"
 msgstr ""
 
-#: config/tc-avr.c:808
+#: config/tc-avr.c:774
 msgid "pointer register (Y or Z) required"
 msgstr ""
 
-#: config/tc-avr.c:912
+#: config/tc-avr.c:878
 #, c-format
 msgid "unknown constraint `%c'"
 msgstr ""
 
-#: config/tc-avr.c:964
+#: config/tc-avr.c:930
 msgid "`,' required"
 msgstr ""
 
-#: config/tc-avr.c:982
+#: config/tc-avr.c:948
 msgid "undefined combination of operands"
 msgstr ""
 
-#: config/tc-avr.c:991
+#: config/tc-avr.c:957
 msgid "skipping two-word instruction"
 msgstr ""
 
-#: config/tc-avr.c:1083 config/tc-avr.c:1099 config/tc-avr.c:1213
-#: config/tc-msp430.c:2006 config/tc-msp430.c:2024
+#: config/tc-avr.c:1049 config/tc-avr.c:1065 config/tc-avr.c:1179
+#: config/tc-msp430.c:1970 config/tc-msp430.c:1988
 #, c-format
 msgid "odd address operand: %ld"
 msgstr ""
 
-#: config/tc-avr.c:1091 config/tc-avr.c:1110 config/tc-avr.c:1132
-#: config/tc-avr.c:1139 config/tc-avr.c:1146 config/tc-d10v.c:537
-#: config/tc-d30v.c:588 config/tc-msp430.c:2014 config/tc-msp430.c:2029
-#: config/tc-msp430.c:2039
+#: config/tc-avr.c:1057 config/tc-avr.c:1076 config/tc-avr.c:1098
+#: config/tc-avr.c:1105 config/tc-avr.c:1112 config/tc-d10v.c:503
+#: config/tc-d30v.c:554 config/tc-msp430.c:1978 config/tc-msp430.c:1993
+#: config/tc-msp430.c:2003
 #, c-format
 msgid "operand out of range: %ld"
 msgstr ""
 
-#: config/tc-avr.c:1222 config/tc-d10v.c:1619 config/tc-d30v.c:2059
-#: config/tc-msp430.c:2057
+#: config/tc-avr.c:1188 config/tc-d10v.c:1585 config/tc-d30v.c:2025
+#: config/tc-msp430.c:2021
 #, c-format
 msgid "line %d: unknown relocation type: 0x%x"
 msgstr ""
 
-#: config/tc-avr.c:1236
+#: config/tc-avr.c:1202
 msgid "only constant expression allowed"
 msgstr ""
 
 #. xgettext:c-format.
-#: config/tc-avr.c:1296 config/tc-bfin.c:771 config/tc-d10v.c:1491
-#: config/tc-d30v.c:1803 config/tc-mn10200.c:813 config/tc-mn10300.c:2311
-#: config/tc-msp430.c:2092 config/tc-or32.c:1017 config/tc-ppc.c:6115
-#: config/tc-spu.c:880 config/tc-spu.c:1067 config/tc-v850.c:2219
+#: config/tc-avr.c:1262 config/tc-bfin.c:722 config/tc-d10v.c:1457
+#: config/tc-d30v.c:1769 config/tc-mn10200.c:781 config/tc-mn10300.c:2276
+#: config/tc-msp430.c:2056 config/tc-or32.c:958 config/tc-ppc.c:6079
+#: config/tc-spu.c:829 config/tc-spu.c:1016 config/tc-v850.c:2187
 #: config/tc-z80.c:2017
 #, c-format
 msgid "reloc %d not supported by object file format"
 msgstr ""
 
-#: config/tc-avr.c:1319 config/tc-h8300.c:1866 config/tc-mcore.c:881
-#: config/tc-msp430.c:1857 config/tc-pj.c:253 config/tc-sh.c:2544
+#: config/tc-avr.c:1285 config/tc-h8300.c:1866 config/tc-mcore.c:881
+#: config/tc-msp430.c:1821 config/tc-pj.c:253 config/tc-sh.c:2544
 #: config/tc-z8k.c:1216
 msgid "can't find opcode "
 msgstr ""
 
-#: config/tc-avr.c:1336
+#: config/tc-avr.c:1302
 #, c-format
 msgid "illegal opcode %s for mcu %s"
 msgstr ""
 
-#: config/tc-avr.c:1345
+#: config/tc-avr.c:1311
 msgid "garbage at end of line"
 msgstr ""
 
-#: config/tc-avr.c:1417 config/tc-avr.c:1424
+#: config/tc-avr.c:1383 config/tc-avr.c:1390
 #, c-format
 msgid "illegal %srelocation size: %d"
 msgstr ""
 
-#: config/tc-bfin.c:249 config/tc-frv.c:1703 config/tc-frv.c:1713
+#: config/tc-bfin.c:249 config/tc-frv.c:1652 config/tc-frv.c:1662
 msgid "missing ')'"
 msgstr ""
 
@@ -3564,7 +3542,7 @@ msgstr ""
 msgid "Unknown register pair - index relative mode: `%d'"
 msgstr ""
 
-#: config/tc-cr16.c:556 config/tc-crx.c:344 config/tc-mn10200.c:800
+#: config/tc-cr16.c:556 config/tc-crx.c:344 config/tc-mn10200.c:768
 #: write.c:959
 #, c-format
 msgid "can't resolve `%s' {%s section} - `%s' {%s section}"
@@ -3575,214 +3553,214 @@ msgstr ""
 msgid "internal error: reloc %d (`%s') not supported by object file format"
 msgstr ""
 
-#: config/tc-cr16.c:791 config/tc-cr16.c:814 config/tc-cris.c:1181
-#: config/tc-crx.c:582 config/tc-crx.c:609 config/tc-crx.c:627
+#: config/tc-cr16.c:743 config/tc-cr16.c:766 config/tc-cris.c:1181
+#: config/tc-crx.c:534 config/tc-crx.c:561 config/tc-crx.c:579
 msgid "Virtual memory exhausted"
 msgstr ""
 
-#: config/tc-cr16.c:799 config/tc-crx.c:619 config/tc-crx.c:637
+#: config/tc-cr16.c:751 config/tc-crx.c:571 config/tc-crx.c:589
 #: config/tc-i386.c:1640 config/tc-i386.c:1662 config/tc-m68k.c:4461
-#: config/tc-maxq.c:2903
+#: config/tc-maxq.c:2865
 #, c-format
 msgid "Internal Error:  Can't hash %s: %s"
 msgstr ""
 
-#: config/tc-cr16.c:825 config/tc-cris.c:1215 config/tc-crx.c:592
+#: config/tc-cr16.c:777 config/tc-cris.c:1215 config/tc-crx.c:544
 #, c-format
 msgid "Can't hash `%s': %s\n"
 msgstr ""
 
-#: config/tc-cr16.c:826 config/tc-cris.c:1216 config/tc-crx.c:593
+#: config/tc-cr16.c:778 config/tc-cris.c:1216 config/tc-crx.c:545
 msgid "(unknown reason)"
 msgstr ""
 
 #. Missing or bad expr becomes absolute 0.
-#: config/tc-cr16.c:876 config/tc-crx.c:665 config/tc-maxq.c:1513
+#: config/tc-cr16.c:828 config/tc-crx.c:617 config/tc-maxq.c:1475
 #, c-format
 msgid "missing or invalid displacement expression `%s' taken as 0"
 msgstr ""
 
-#: config/tc-cr16.c:988
+#: config/tc-cr16.c:940
 #, c-format
 msgid "operand %d: illegal use expression: `%s`"
 msgstr ""
 
-#: config/tc-cr16.c:1045 config/tc-crx.c:1173
+#: config/tc-cr16.c:997 config/tc-crx.c:1125
 #, c-format
 msgid "Unknown register: `%d'"
 msgstr ""
 
 #. Issue a error message when register is illegal.
-#: config/tc-cr16.c:1053 config/tc-crx.c:1181
+#: config/tc-cr16.c:1005 config/tc-crx.c:1133
 #, c-format
 msgid "Illegal register (`%s') in Instruction: `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1124 config/tc-cr16.c:1199 config/tc-crx.c:803
-#: config/tc-crx.c:823 config/tc-crx.c:838
+#: config/tc-cr16.c:1076 config/tc-cr16.c:1151 config/tc-crx.c:755
+#: config/tc-crx.c:775 config/tc-crx.c:790
 #, c-format
 msgid "Illegal register `%s' in Instruction `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1152 config/tc-cr16.c:1163
+#: config/tc-cr16.c:1104 config/tc-cr16.c:1115
 #, c-format
 msgid "Illegal register pair `%s' in Instruction `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1188 config/tc-i960.c:835
+#: config/tc-cr16.c:1140 config/tc-i960.c:835
 msgid "unmatched '['"
 msgstr ""
 
-#: config/tc-cr16.c:1194 config/tc-i960.c:842
+#: config/tc-cr16.c:1146 config/tc-i960.c:842
 msgid "garbage after index spec ignored"
 msgstr ""
 
-#: config/tc-cr16.c:1342 config/tc-crx.c:982
+#: config/tc-cr16.c:1294 config/tc-crx.c:934
 #, c-format
 msgid "Illegal operands (whitespace): `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1354 config/tc-cr16.c:1361 config/tc-cr16.c:1378
-#: config/tc-crx.c:994 config/tc-crx.c:1001 config/tc-crx.c:1018
-#: config/tc-crx.c:1810
+#: config/tc-cr16.c:1306 config/tc-cr16.c:1313 config/tc-cr16.c:1330
+#: config/tc-crx.c:946 config/tc-crx.c:953 config/tc-crx.c:970
+#: config/tc-crx.c:1762
 #, c-format
 msgid "Missing matching brackets : `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1410 config/tc-crx.c:1044
+#: config/tc-cr16.c:1362 config/tc-crx.c:996
 #, c-format
 msgid "Unknown exception: `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1497 config/tc-crx.c:1140
+#: config/tc-cr16.c:1449 config/tc-crx.c:1092
 #, c-format
 msgid "Illegal `cinv' parameter: `%c'"
 msgstr ""
 
-#: config/tc-cr16.c:1519 config/tc-cr16.c:1558
+#: config/tc-cr16.c:1471 config/tc-cr16.c:1510
 #, c-format
 msgid "Unknown register pair: `%d'"
 msgstr ""
 
 #. Issue a error message when register  pair is illegal.
-#: config/tc-cr16.c:1527
+#: config/tc-cr16.c:1479
 #, c-format
 msgid "Illegal register pair (`%s') in Instruction: `%s'"
 msgstr ""
 
 #. Issue a error message when register  pair is illegal.
-#: config/tc-cr16.c:1566
+#: config/tc-cr16.c:1518
 #, c-format
 msgid "Illegal index register pair (`%s') in Instruction: `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1605
+#: config/tc-cr16.c:1557
 #, c-format
 msgid "Unknown processor register : `%d'"
 msgstr ""
 
 #. Issue a error message when register  pair is illegal.
-#: config/tc-cr16.c:1613
+#: config/tc-cr16.c:1565
 #, c-format
 msgid "Illegal processor register (`%s') in Instruction: `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:1661
+#: config/tc-cr16.c:1613
 #, c-format
 msgid "Unknown processor register (32 bit) : `%d'"
 msgstr ""
 
 #. Issue a error message when register  pair is illegal.
-#: config/tc-cr16.c:1669
+#: config/tc-cr16.c:1621
 #, c-format
 msgid "Illegal 32 bit - processor register (`%s') in Instruction: `%s'"
 msgstr ""
 
-#: config/tc-cr16.c:2033 config/tc-crx.c:1708 config/tc-crx.c:1725
+#: config/tc-cr16.c:1985 config/tc-crx.c:1660 config/tc-crx.c:1677
 #, c-format
 msgid "Same src/dest register is used (`r%d'), result is undefined"
 msgstr ""
 
-#: config/tc-cr16.c:2054
+#: config/tc-cr16.c:2006
 msgid "RA register is saved twice."
 msgstr ""
 
-#: config/tc-cr16.c:2058
+#: config/tc-cr16.c:2010
 #, c-format
 msgid "`%s' Illegal use of registers."
 msgstr ""
 
-#: config/tc-cr16.c:2072
+#: config/tc-cr16.c:2024
 #, c-format
 msgid "`%s' Illegal count-register combination."
 msgstr ""
 
-#: config/tc-cr16.c:2078
+#: config/tc-cr16.c:2030
 #, c-format
 msgid "`%s' Illegal use of register."
 msgstr ""
 
-#: config/tc-cr16.c:2087 config/tc-crx.c:1717
+#: config/tc-cr16.c:2039 config/tc-crx.c:1669
 #, c-format
 msgid "`%s' has undefined result"
 msgstr ""
 
-#: config/tc-cr16.c:2095
+#: config/tc-cr16.c:2047
 #, c-format
 msgid "Same src/dest register is used (`r%d'),result is undefined"
 msgstr ""
 
-#: config/tc-cr16.c:2266 config/tc-crx.c:1622
+#: config/tc-cr16.c:2218 config/tc-crx.c:1574
 msgid "Incorrect number of operands"
 msgstr ""
 
-#: config/tc-cr16.c:2268 config/tc-crx.c:1624
+#: config/tc-cr16.c:2220 config/tc-crx.c:1576
 #, c-format
 msgid "Illegal type of operand (arg %d)"
 msgstr ""
 
-#: config/tc-cr16.c:2274 config/tc-crx.c:1630
+#: config/tc-cr16.c:2226 config/tc-crx.c:1582
 #, c-format
 msgid "Operand out of range (arg %d)"
 msgstr ""
 
-#: config/tc-cr16.c:2277 config/tc-crx.c:1633
+#: config/tc-cr16.c:2229 config/tc-crx.c:1585
 #, c-format
 msgid "Operand has odd displacement (arg %d)"
 msgstr ""
 
-#: config/tc-cr16.c:2280 config/tc-cr16.c:2311 config/tc-crx.c:1646
-#: config/tc-crx.c:1677
+#: config/tc-cr16.c:2232 config/tc-cr16.c:2263 config/tc-crx.c:1598
+#: config/tc-crx.c:1629
 #, c-format
 msgid "Illegal operand (arg %d)"
 msgstr ""
 
 #. Give an error if a frag containing code is not aligned to a 2-byte
 #. boundary.
-#: config/tc-cr16.c:2413 config/tc-cr16.h:71 config/tc-crx.c:1999
+#: config/tc-cr16.c:2365 config/tc-cr16.h:71 config/tc-crx.c:1951
 #: config/tc-crx.h:76
 msgid "instruction address is not a multiple of 2"
 msgstr ""
 
-#: config/tc-cr16.c:2490 config/tc-cris.c:1529 config/tc-cris.c:1537
-#: config/tc-crx.c:2035 config/tc-dlx.c:685 config/tc-hppa.c:3261
+#: config/tc-cr16.c:2442 config/tc-cris.c:1529 config/tc-cris.c:1537
+#: config/tc-crx.c:1987 config/tc-dlx.c:685 config/tc-hppa.c:3210
 #: config/tc-i860.c:490 config/tc-i860.c:507 config/tc-i860.c:987
 #: config/tc-sparc.c:1431 config/tc-sparc.c:1439
 #, c-format
 msgid "Unknown opcode: `%s'"
 msgstr ""
 
-#: config/tc-cris.c:547 config/tc-m68hc11.c:2796
+#: config/tc-cris.c:547 config/tc-m68hc11.c:2744
 #, c-format
 msgid "internal inconsistency problem in %s: fr_symbol %lx"
 msgstr ""
 
-#: config/tc-cris.c:551 config/tc-m68hc11.c:2800 config/tc-msp430.c:2283
+#: config/tc-cris.c:551 config/tc-m68hc11.c:2748 config/tc-msp430.c:2247
 #, c-format
 msgid "internal inconsistency problem in %s: resolved symbol"
 msgstr ""
 
-#: config/tc-cris.c:561 config/tc-m68hc11.c:2806
+#: config/tc-cris.c:561 config/tc-m68hc11.c:2754
 #, c-format
 msgid "internal inconsistency problem in %s: fr_subtype %d"
 msgstr ""
@@ -4069,81 +4047,81 @@ msgstr ""
 msgid ".arch <arch> requires a matching --march=... option"
 msgstr ""
 
-#: config/tc-crx.c:866
+#: config/tc-crx.c:818
 #, c-format
 msgid "Illegal Scale - `%d'"
 msgstr ""
 
-#: config/tc-crx.c:1310
+#: config/tc-crx.c:1262
 #, c-format
 msgid "Illegal Co-processor register in Instruction `%s' "
 msgstr ""
 
-#: config/tc-crx.c:1317
+#: config/tc-crx.c:1269
 #, c-format
 msgid "Illegal Co-processor special register in Instruction `%s' "
 msgstr ""
 
-#: config/tc-crx.c:1636
+#: config/tc-crx.c:1588
 #, c-format
 msgid "Invalid DISPU4 operand value (arg %d)"
 msgstr ""
 
-#: config/tc-crx.c:1639
+#: config/tc-crx.c:1591
 #, c-format
 msgid "Invalid CST4 operand value (arg %d)"
 msgstr ""
 
-#: config/tc-crx.c:1642
+#: config/tc-crx.c:1594
 #, c-format
 msgid "Operand value is not within upper 64 KB (arg %d)"
 msgstr ""
 
-#: config/tc-crx.c:1779
+#: config/tc-crx.c:1731
 msgid "Invalid Register in Register List"
 msgstr ""
 
-#: config/tc-crx.c:1833
+#: config/tc-crx.c:1785
 #, c-format
 msgid "Illegal register `%s' in cop-register list"
 msgstr ""
 
-#: config/tc-crx.c:1841
+#: config/tc-crx.c:1793
 #, c-format
 msgid "Illegal register `%s' in cop-special-register list"
 msgstr ""
 
-#: config/tc-crx.c:1860
+#: config/tc-crx.c:1812
 #, c-format
 msgid "Illegal register `%s' in user register list"
 msgstr ""
 
-#: config/tc-crx.c:1879
+#: config/tc-crx.c:1831
 #, c-format
 msgid "Illegal register `%s' in register list"
 msgstr ""
 
-#: config/tc-crx.c:1885
+#: config/tc-crx.c:1837
 #, c-format
 msgid "Maximum %d bits may be set in `mask16' operand"
 msgstr ""
 
-#: config/tc-crx.c:1894
+#: config/tc-crx.c:1846
 #, c-format
 msgid "rest of line ignored; first ignored character is `%c'"
 msgstr ""
 
-#: config/tc-crx.c:1902
+#: config/tc-crx.c:1854
 #, c-format
 msgid "Illegal `mask16' operand, operation is undefined - `%s'"
 msgstr ""
 
 #. HI can't be specified without LO (and vise-versa).
-#: config/tc-crx.c:1908
+#: config/tc-crx.c:1860
 msgid "HI/LO registers should be specified together"
 msgstr ""
 
-#: config/tc-crx.c:1914
+#: config/tc-crx.c:1866
 msgid "HI/LO registers should be specified without additional registers"
 msgstr ""
 
@@ -4158,129 +4136,129 @@ msgid ""
 "                        instructions together.\n"
 msgstr ""
 
-#: config/tc-d10v.c:607
+#: config/tc-d10v.c:573
 msgid "operand is not an immediate"
 msgstr ""
 
-#: config/tc-d10v.c:625
+#: config/tc-d10v.c:591
 #, c-format
 msgid "operand out of range: %lu"
 msgstr ""
 
-#: config/tc-d10v.c:683
+#: config/tc-d10v.c:649
 msgid "Instruction must be executed in parallel with another instruction."
 msgstr ""
 
-#: config/tc-d10v.c:737 config/tc-d10v.c:745
+#: config/tc-d10v.c:703 config/tc-d10v.c:711
 #, c-format
 msgid "packing conflict: %s must dispatch sequentially"
 msgstr ""
 
-#: config/tc-d10v.c:844
+#: config/tc-d10v.c:810
 #, c-format
 msgid "resource conflict (R%d)"
 msgstr ""
 
-#: config/tc-d10v.c:847
+#: config/tc-d10v.c:813
 #, c-format
 msgid "resource conflict (A%d)"
 msgstr ""
 
-#: config/tc-d10v.c:849
+#: config/tc-d10v.c:815
 msgid "resource conflict (PSW)"
 msgstr ""
 
-#: config/tc-d10v.c:851
+#: config/tc-d10v.c:817
 msgid "resource conflict (C flag)"
 msgstr ""
 
-#: config/tc-d10v.c:853
+#: config/tc-d10v.c:819
 msgid "resource conflict (F flag)"
 msgstr ""
 
-#: config/tc-d10v.c:1003
+#: config/tc-d10v.c:969
 msgid "Instruction must be executed in parallel"
 msgstr ""
 
-#: config/tc-d10v.c:1006
+#: config/tc-d10v.c:972
 msgid "Long instructions may not be combined."
 msgstr ""
 
-#: config/tc-d10v.c:1039
+#: config/tc-d10v.c:1005
 msgid "One of these instructions may not be executed in parallel."
 msgstr ""
 
-#: config/tc-d10v.c:1043 config/tc-d30v.c:1070
+#: config/tc-d10v.c:1009 config/tc-d30v.c:1036
 msgid "Two IU instructions may not be executed in parallel"
 msgstr ""
 
-#: config/tc-d10v.c:1045 config/tc-d10v.c:1053 config/tc-d10v.c:1067
-#: config/tc-d10v.c:1082 config/tc-d30v.c:1071 config/tc-d30v.c:1080
+#: config/tc-d10v.c:1011 config/tc-d10v.c:1019 config/tc-d10v.c:1033
+#: config/tc-d10v.c:1048 config/tc-d30v.c:1037 config/tc-d30v.c:1046
 msgid "Swapping instruction order"
 msgstr ""
 
-#: config/tc-d10v.c:1051 config/tc-d30v.c:1077
+#: config/tc-d10v.c:1017 config/tc-d30v.c:1043
 msgid "Two MU instructions may not be executed in parallel"
 msgstr ""
 
-#: config/tc-d10v.c:1071 config/tc-d30v.c:1097
+#: config/tc-d10v.c:1037 config/tc-d30v.c:1063
 msgid "IU instruction may not be in the left container"
 msgstr ""
 
-#: config/tc-d10v.c:1073 config/tc-d10v.c:1088
+#: config/tc-d10v.c:1039 config/tc-d10v.c:1054
 msgid ""
 "Instruction in R container is squashed by flow control instruction in L "
 "container."
 msgstr ""
 
-#: config/tc-d10v.c:1086 config/tc-d30v.c:1108
+#: config/tc-d10v.c:1052 config/tc-d30v.c:1074
 msgid "MU instruction may not be in the right container"
 msgstr ""
 
-#: config/tc-d10v.c:1092 config/tc-d30v.c:1120
+#: config/tc-d10v.c:1058 config/tc-d30v.c:1086
 msgid "unknown execution type passed to write_2_short()"
 msgstr ""
 
-#: config/tc-d10v.c:1220 config/tc-d10v.c:1393
+#: config/tc-d10v.c:1186 config/tc-d10v.c:1359
 msgid "bad opcode or operands"
 msgstr ""
 
-#: config/tc-d10v.c:1295
+#: config/tc-d10v.c:1261
 msgid "value out of range"
 msgstr ""
 
-#: config/tc-d10v.c:1369
+#: config/tc-d10v.c:1335
 msgid "illegal operand - register name found where none expected"
 msgstr ""
 
-#: config/tc-d10v.c:1404
+#: config/tc-d10v.c:1370
 msgid "Register number must be EVEN"
 msgstr ""
 
-#: config/tc-d10v.c:1407
+#: config/tc-d10v.c:1373
 msgid "Unsupported use of sp"
 msgstr ""
 
-#: config/tc-d10v.c:1426
+#: config/tc-d10v.c:1392
 #, c-format
 msgid "cr%ld is a reserved control register"
 msgstr ""
 
-#: config/tc-d10v.c:1599
+#: config/tc-d10v.c:1565
 #, c-format
 msgid "line %d: rep or repi must include at least 4 instructions"
 msgstr ""
 
-#: config/tc-d10v.c:1779
+#: config/tc-d10v.c:1745
 msgid "can't find previous opcode "
 msgstr ""
 
-#: config/tc-d10v.c:1791
+#: config/tc-d10v.c:1757
 #, c-format
 msgid "could not assemble: %s"
 msgstr ""
 
-#: config/tc-d10v.c:1806 config/tc-d10v.c:1828 config/tc-d30v.c:1776
+#: config/tc-d10v.c:1772 config/tc-d10v.c:1794 config/tc-d30v.c:1742
 msgid "Unable to mix instructions as specified"
 msgstr ""
 
@@ -4303,131 +4281,131 @@ msgid ""
 "-C                      Opposite of -C.  -c is the default.\n"
 msgstr ""
 
-#: config/tc-d30v.c:401
+#: config/tc-d30v.c:367
 msgid "unexpected 12-bit reloc type"
 msgstr ""
 
-#: config/tc-d30v.c:408
+#: config/tc-d30v.c:374
 msgid "unexpected 18-bit reloc type"
 msgstr ""
 
-#: config/tc-d30v.c:658
+#: config/tc-d30v.c:624
 #, c-format
 msgid "%s NOP inserted"
 msgstr ""
 
-#: config/tc-d30v.c:659
+#: config/tc-d30v.c:625
 msgid "sequential"
 msgstr ""
 
-#: config/tc-d30v.c:659
+#: config/tc-d30v.c:625
 msgid "parallel"
 msgstr ""
 
-#: config/tc-d30v.c:1066
+#: config/tc-d30v.c:1032
 msgid "Instructions may not be executed in parallel"
 msgstr ""
 
-#: config/tc-d30v.c:1079
+#: config/tc-d30v.c:1045
 #, c-format
 msgid "Executing %s in IU may not work"
 msgstr ""
 
-#: config/tc-d30v.c:1086
+#: config/tc-d30v.c:1052
 #, c-format
 msgid "Executing %s in IU may not work in parallel execution"
 msgstr ""
 
-#: config/tc-d30v.c:1099
+#: config/tc-d30v.c:1065
 #, c-format
 msgid "special left instruction `%s' kills instruction `%s' in right container"
 msgstr ""
 
-#: config/tc-d30v.c:1110
+#: config/tc-d30v.c:1076
 #, c-format
 msgid "Executing %s in reverse serial with %s may not work"
 msgstr ""
 
-#: config/tc-d30v.c:1113
+#: config/tc-d30v.c:1079
 #, c-format
 msgid "Executing %s in IU in reverse serial may not work"
 msgstr ""
 
-#: config/tc-d30v.c:1302
+#: config/tc-d30v.c:1268
 msgid "Odd numbered register used as target of multi-register instruction"
 msgstr ""
 
-#: config/tc-d30v.c:1366 config/tc-d30v.c:1401
+#: config/tc-d30v.c:1332 config/tc-d30v.c:1367
 #, c-format
 msgid "unknown condition code: %s"
 msgstr ""
 
-#: config/tc-d30v.c:1394
+#: config/tc-d30v.c:1360
 #, c-format
 msgid "cmpu doesn't support condition code %s"
 msgstr ""
 
-#: config/tc-d30v.c:1429
+#: config/tc-d30v.c:1395
 #, c-format
 msgid "unknown opcode: %s"
 msgstr ""
 
-#: config/tc-d30v.c:1440
+#: config/tc-d30v.c:1406
 #, c-format
 msgid "operands for opcode `%s' do not match any valid format"
 msgstr ""
 
-#: config/tc-d30v.c:1655 config/tc-d30v.c:1672
+#: config/tc-d30v.c:1621 config/tc-d30v.c:1638
 msgid "Cannot assemble instruction"
 msgstr ""
 
-#: config/tc-d30v.c:1657
+#: config/tc-d30v.c:1623
 msgid "First opcode is long.  Unable to mix instructions as specified."
 msgstr ""
 
-#: config/tc-d30v.c:1726
+#: config/tc-d30v.c:1692
 msgid "word of NOPs added between word multiply and load"
 msgstr ""
 
-#: config/tc-d30v.c:1728
+#: config/tc-d30v.c:1694
 msgid "word of NOPs added between word multiply and 16-bit multiply"
 msgstr ""
 
-#: config/tc-d30v.c:1760
+#: config/tc-d30v.c:1726
 msgid "Instruction uses long version, so it cannot be mixed as specified"
 msgstr ""
 
-#: config/tc-d30v.c:1887
+#: config/tc-d30v.c:1853
 #, c-format
 msgid "value too large to fit in %d bits"
 msgstr ""
 
-#: config/tc-d30v.c:1948
+#: config/tc-d30v.c:1914
 #, c-format
 msgid "line %d: unable to place address of symbol '%s' into a byte"
 msgstr ""
 
-#: config/tc-d30v.c:1951
+#: config/tc-d30v.c:1917
 #, c-format
 msgid "line %d: unable to place value %lx into a byte"
 msgstr ""
 
-#: config/tc-d30v.c:1959
+#: config/tc-d30v.c:1925
 #, c-format
 msgid "line %d: unable to place address of symbol '%s' into a short"
 msgstr ""
 
-#: config/tc-d30v.c:1962
+#: config/tc-d30v.c:1928
 #, c-format
 msgid "line %d: unable to place value %lx into a short"
 msgstr ""
 
-#: config/tc-d30v.c:1970
+#: config/tc-d30v.c:1936
 #, c-format
 msgid "line %d: unable to place address of symbol '%s' into a quad"
 msgstr ""
 
-#: config/tc-d30v.c:2078
+#: config/tc-d30v.c:2044
 #, c-format
 msgid "Alignment too large: %d assumed"
 msgstr ""
@@ -4446,7 +4424,7 @@ msgid "internal error: can't hash `%s': %s\n"
 msgstr ""
 
 #. Probably a memory allocation problem?  Give up now.
-#: config/tc-dlx.c:297 config/tc-hppa.c:8306 config/tc-mips.c:1772
+#: config/tc-dlx.c:297 config/tc-hppa.c:8255 config/tc-mips.c:1772
 #: config/tc-mips.c:1824 config/tc-or32.c:211 config/tc-sparc.c:869
 msgid "Broken assembler.  No assembly attempted."
 msgstr ""
@@ -4466,7 +4444,7 @@ msgstr ""
 msgid "Expression Error for operand modifier %%hi/%%lo\n"
 msgstr ""
 
-#: config/tc-dlx.c:634 config/tc-or32.c:871
+#: config/tc-dlx.c:634 config/tc-or32.c:812
 #, c-format
 msgid "Invalid expression after %%%%\n"
 msgstr ""
@@ -4508,12 +4486,12 @@ msgstr ""
 msgid "Invalid operands"
 msgstr ""
 
-#: config/tc-dlx.c:1175 config/tc-or32.c:833
+#: config/tc-dlx.c:1119 config/tc-or32.c:774
 #, c-format
 msgid "label \"$%d\" redefined"
 msgstr ""
 
-#: config/tc-dlx.c:1213
+#: config/tc-dlx.c:1157
 msgid "Invalid expression after # number\n"
 msgstr ""
 
@@ -4659,7 +4637,7 @@ msgstr ""
 msgid "VLIW packing constraint violation"
 msgstr ""
 
-#: config/tc-frv.c:1874
+#: config/tc-frv.c:1823
 #, c-format
 msgid "Relocation %s is not safe for %s"
 msgstr ""
@@ -4783,7 +4761,7 @@ msgstr ""
 #. get here only if the trailing trash starts with a comma.
 #. Types or values of args don't match.
 #: config/tc-h8300.c:1756 config/tc-mmix.c:472 config/tc-mmix.c:484
-#: config/tc-mmix.c:2525 config/tc-mmix.c:2549 config/tc-mmix.c:2822
+#: config/tc-mmix.c:2497 config/tc-mmix.c:2521 config/tc-mmix.c:2794
 #: config/tc-or32.c:528
 msgid "invalid operands"
 msgstr ""
@@ -4805,27 +4783,27 @@ msgstr ""
 msgid "invalid operand in stm"
 msgstr ""
 
-#: config/tc-h8300.c:2091
+#: config/tc-h8300.c:2039
 #, c-format
 msgid "call to tc_aout_fix_to_chars \n"
 msgstr ""
 
-#: config/tc-h8300.c:2100 config/tc-xc16x.c:389
+#: config/tc-h8300.c:2048 config/tc-xc16x.c:340
 #, c-format
 msgid "call to md_convert_frag \n"
 msgstr ""
 
-#: config/tc-h8300.c:2151
+#: config/tc-h8300.c:2099
 #, c-format
 msgid "call to md_estimate_size_before_relax \n"
 msgstr ""
 
-#: config/tc-h8300.c:2180
+#: config/tc-h8300.c:2128
 msgid "Difference of symbols in different sections is not supported"
 msgstr ""
 
-#: config/tc-h8300.c:2202 config/tc-mcore.c:2265 config/tc-pj.c:537
-#: config/tc-sh.c:4401 config/tc-xc16x.c:357
+#: config/tc-h8300.c:2150 config/tc-mcore.c:2199 config/tc-pj.c:489
+#: config/tc-sh.c:4351 config/tc-xc16x.c:308
 #, c-format
 msgid "Cannot represent relocation type %s"
 msgstr ""
@@ -4868,385 +4846,385 @@ msgstr ""
 msgid "Invalid Nullification: (%c)"
 msgstr ""
 
-#: config/tc-hppa.c:1438
+#: config/tc-hppa.c:1387
 msgid "Cannot handle fixup"
 msgstr ""
 
-#: config/tc-hppa.c:1736
+#: config/tc-hppa.c:1685
 #, c-format
 msgid "  -Q                      ignored\n"
 msgstr ""
 
-#: config/tc-hppa.c:1740
+#: config/tc-hppa.c:1689
 #, c-format
 msgid "  -c                      print a warning if a comment is found\n"
 msgstr ""
 
-#: config/tc-hppa.c:1806
+#: config/tc-hppa.c:1755
 #, c-format
 msgid "no hppa_fixup entry for fixup type 0x%x"
 msgstr ""
 
-#: config/tc-hppa.c:1985
+#: config/tc-hppa.c:1934
 msgid "Unknown relocation encountered in md_apply_fix."
 msgstr ""
 
-#: config/tc-hppa.c:2173 config/tc-hppa.c:2198
+#: config/tc-hppa.c:2122 config/tc-hppa.c:2147
 #, c-format
 msgid "Undefined register: '%s'."
 msgstr ""
 
-#: config/tc-hppa.c:2232
+#: config/tc-hppa.c:2181
 #, c-format
 msgid "Non-absolute symbol: '%s'."
 msgstr ""
 
-#: config/tc-hppa.c:2247
+#: config/tc-hppa.c:2196
 #, c-format
 msgid "Undefined absolute constant: '%s'."
 msgstr ""
 
-#: config/tc-hppa.c:2278 config/tc-hppa.c:5697
+#: config/tc-hppa.c:2227 config/tc-hppa.c:5646
 msgid "could not update architecture and machine"
 msgstr ""
 
-#: config/tc-hppa.c:2316
+#: config/tc-hppa.c:2265
 #, c-format
 msgid "Invalid FP Compare Condition: %s"
 msgstr ""
 
-#: config/tc-hppa.c:2371
+#: config/tc-hppa.c:2320
 #, c-format
 msgid "Invalid FTEST completer: %s"
 msgstr ""
 
-#: config/tc-hppa.c:2437 config/tc-hppa.c:2474
+#: config/tc-hppa.c:2386 config/tc-hppa.c:2423
 #, c-format
 msgid "Invalid FP Operand Format: %3s"
 msgstr ""
 
-#: config/tc-hppa.c:2609
+#: config/tc-hppa.c:2558
 msgid "Bad segment (should be absolute)."
 msgstr ""
 
-#: config/tc-hppa.c:2635
+#: config/tc-hppa.c:2584
 #, c-format
 msgid "Invalid argument location: %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:2664
+#: config/tc-hppa.c:2613
 #, c-format
 msgid "Invalid argument description: %d"
 msgstr ""
 
-#: config/tc-hppa.c:3490
+#: config/tc-hppa.c:3439
 msgid "Invalid Indexed Load Completer."
 msgstr ""
 
-#: config/tc-hppa.c:3495
+#: config/tc-hppa.c:3444
 msgid "Invalid Indexed Load Completer Syntax."
 msgstr ""
 
-#: config/tc-hppa.c:3529
+#: config/tc-hppa.c:3478
 msgid "Invalid Short Load/Store Completer."
 msgstr ""
 
-#: config/tc-hppa.c:3589 config/tc-hppa.c:3594
+#: config/tc-hppa.c:3538 config/tc-hppa.c:3543
 msgid "Invalid Store Bytes Short Completer"
 msgstr ""
 
-#: config/tc-hppa.c:3905 config/tc-hppa.c:3911
+#: config/tc-hppa.c:3854 config/tc-hppa.c:3860
 msgid "Invalid left/right combination completer"
 msgstr ""
 
-#: config/tc-hppa.c:3960 config/tc-hppa.c:3967
+#: config/tc-hppa.c:3909 config/tc-hppa.c:3916
 msgid "Invalid permutation completer"
 msgstr ""
 
-#: config/tc-hppa.c:4067
+#: config/tc-hppa.c:4016
 #, c-format
 msgid "Invalid Add Condition: %s"
 msgstr ""
 
-#: config/tc-hppa.c:4078 config/tc-hppa.c:4088
+#: config/tc-hppa.c:4027 config/tc-hppa.c:4037
 msgid "Invalid Add and Branch Condition"
 msgstr ""
 
-#: config/tc-hppa.c:4109 config/tc-hppa.c:4246
+#: config/tc-hppa.c:4058 config/tc-hppa.c:4195
 msgid "Invalid Compare/Subtract Condition"
 msgstr ""
 
-#: config/tc-hppa.c:4149
+#: config/tc-hppa.c:4098
 #, c-format
 msgid "Invalid Bit Branch Condition: %c"
 msgstr ""
 
-#: config/tc-hppa.c:4234
+#: config/tc-hppa.c:4183
 #, c-format
 msgid "Invalid Compare/Subtract Condition: %s"
 msgstr ""
 
-#: config/tc-hppa.c:4261
+#: config/tc-hppa.c:4210
 msgid "Invalid Compare and Branch Condition"
 msgstr ""
 
-#: config/tc-hppa.c:4357
+#: config/tc-hppa.c:4306
 msgid "Invalid Logical Instruction Condition."
 msgstr ""
 
-#: config/tc-hppa.c:4412
+#: config/tc-hppa.c:4361
 msgid "Invalid Shift/Extract/Deposit Condition."
 msgstr ""
 
-#: config/tc-hppa.c:4524
+#: config/tc-hppa.c:4473
 msgid "Invalid Unit Instruction Condition."
 msgstr ""
 
-#: config/tc-hppa.c:4999 config/tc-hppa.c:5031 config/tc-hppa.c:5062
-#: config/tc-hppa.c:5092
+#: config/tc-hppa.c:4948 config/tc-hppa.c:4980 config/tc-hppa.c:5011
+#: config/tc-hppa.c:5041
 msgid "Branch to unaligned address"
 msgstr ""
 
-#: config/tc-hppa.c:5270
+#: config/tc-hppa.c:5219
 msgid "Invalid SFU identifier"
 msgstr ""
 
-#: config/tc-hppa.c:5320
+#: config/tc-hppa.c:5269
 msgid "Invalid COPR identifier"
 msgstr ""
 
-#: config/tc-hppa.c:5449
+#: config/tc-hppa.c:5398
 msgid "Invalid Floating Point Operand Format."
 msgstr ""
 
-#: config/tc-hppa.c:5566 config/tc-hppa.c:5586 config/tc-hppa.c:5606
-#: config/tc-hppa.c:5626 config/tc-hppa.c:5646
+#: config/tc-hppa.c:5515 config/tc-hppa.c:5535 config/tc-hppa.c:5555
+#: config/tc-hppa.c:5575 config/tc-hppa.c:5595
 msgid "Invalid register for single precision fmpyadd or fmpysub"
 msgstr ""
 
-#: config/tc-hppa.c:5714
+#: config/tc-hppa.c:5663
 #, c-format
 msgid "Invalid operands %s"
 msgstr ""
 
-#: config/tc-hppa.c:5769 config/tc-hppa.c:6975 config/tc-hppa.c:7030
+#: config/tc-hppa.c:5718 config/tc-hppa.c:6924 config/tc-hppa.c:6979
 msgid "Missing function name for .PROC (corrupted label chain)"
 msgstr ""
 
-#: config/tc-hppa.c:5772 config/tc-hppa.c:7033
+#: config/tc-hppa.c:5721 config/tc-hppa.c:6982
 msgid "Missing function name for .PROC"
 msgstr ""
 
-#: config/tc-hppa.c:5831
+#: config/tc-hppa.c:5780
 msgid "Argument to .BLOCK/.BLOCKZ must be between 0 and 0x3fffffff"
 msgstr ""
 
-#: config/tc-hppa.c:5927
+#: config/tc-hppa.c:5876
 #, c-format
 msgid "Invalid .CALL argument: %s"
 msgstr ""
 
-#: config/tc-hppa.c:6061
+#: config/tc-hppa.c:6010
 msgid ".callinfo is not within a procedure definition"
 msgstr ""
 
-#: config/tc-hppa.c:6081
+#: config/tc-hppa.c:6030
 #, c-format
 msgid "FRAME parameter must be a multiple of 8: %d\n"
 msgstr ""
 
-#: config/tc-hppa.c:6100
+#: config/tc-hppa.c:6049
 msgid "Value for ENTRY_GR must be in the range 3..18\n"
 msgstr ""
 
-#: config/tc-hppa.c:6112
+#: config/tc-hppa.c:6061
 msgid "Value for ENTRY_FR must be in the range 12..21\n"
 msgstr ""
 
-#: config/tc-hppa.c:6122
+#: config/tc-hppa.c:6071
 msgid "Value for ENTRY_SR must be 3\n"
 msgstr ""
 
-#: config/tc-hppa.c:6178
+#: config/tc-hppa.c:6127
 #, c-format
 msgid "Invalid .CALLINFO argument: %s"
 msgstr ""
 
-#: config/tc-hppa.c:6288
+#: config/tc-hppa.c:6237
 msgid "The .ENTER pseudo-op is not supported"
 msgstr ""
 
-#: config/tc-hppa.c:6304
+#: config/tc-hppa.c:6253
 msgid "Misplaced .entry. Ignored."
 msgstr ""
 
-#: config/tc-hppa.c:6308
+#: config/tc-hppa.c:6257
 msgid "Missing .callinfo."
 msgstr ""
 
-#: config/tc-hppa.c:6372
+#: config/tc-hppa.c:6321
 msgid ".REG expression must be a register"
 msgstr ""
 
-#: config/tc-hppa.c:6388
+#: config/tc-hppa.c:6337
 msgid "bad or irreducible absolute expression; zero assumed"
 msgstr ""
 
-#: config/tc-hppa.c:6399
+#: config/tc-hppa.c:6348
 msgid ".REG must use a label"
 msgstr ""
 
-#: config/tc-hppa.c:6401
+#: config/tc-hppa.c:6350
 msgid ".EQU must use a label"
 msgstr ""
 
-#: config/tc-hppa.c:6463
+#: config/tc-hppa.c:6412
 #, c-format
 msgid "Symbol '%s' could not be created."
 msgstr ""
 
-#: config/tc-hppa.c:6467
+#: config/tc-hppa.c:6416
 msgid "No memory for symbol name."
 msgstr ""
 
-#: config/tc-hppa.c:6516
+#: config/tc-hppa.c:6465
 msgid ".EXIT must appear within a procedure"
 msgstr ""
 
-#: config/tc-hppa.c:6520
+#: config/tc-hppa.c:6469
 msgid "Missing .callinfo"
 msgstr ""
 
-#: config/tc-hppa.c:6524
+#: config/tc-hppa.c:6473
 msgid "No .ENTRY for this .EXIT"
 msgstr ""
 
-#: config/tc-hppa.c:6564
+#: config/tc-hppa.c:6513
 #, c-format
 msgid "Using ENTRY rather than CODE in export directive for %s"
 msgstr ""
 
-#: config/tc-hppa.c:6681
+#: config/tc-hppa.c:6630
 #, c-format
 msgid "Undefined .EXPORT/.IMPORT argument (ignored): %s"
 msgstr ""
 
-#: config/tc-hppa.c:6705
+#: config/tc-hppa.c:6654
 #, c-format
 msgid "Cannot define export symbol: %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:6802
+#: config/tc-hppa.c:6751
 msgid "Missing label name on .LABEL"
 msgstr ""
 
-#: config/tc-hppa.c:6807
+#: config/tc-hppa.c:6756
 msgid "extra .LABEL arguments ignored."
 msgstr ""
 
-#: config/tc-hppa.c:6823
+#: config/tc-hppa.c:6772
 msgid "The .LEAVE pseudo-op is not supported"
 msgstr ""
 
-#: config/tc-hppa.c:6861
+#: config/tc-hppa.c:6810
 msgid "Unrecognized .LEVEL argument\n"
 msgstr ""
 
-#: config/tc-hppa.c:6895
+#: config/tc-hppa.c:6844
 #, c-format
 msgid "Cannot define static symbol: %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:6929
+#: config/tc-hppa.c:6878
 msgid "Nested procedures"
 msgstr ""
 
-#: config/tc-hppa.c:6939
+#: config/tc-hppa.c:6888
 msgid "Cannot allocate unwind descriptor\n"
 msgstr ""
 
-#: config/tc-hppa.c:7037
+#: config/tc-hppa.c:6986
 msgid "misplaced .procend"
 msgstr ""
 
-#: config/tc-hppa.c:7040
+#: config/tc-hppa.c:6989
 msgid "Missing .callinfo for this procedure"
 msgstr ""
 
-#: config/tc-hppa.c:7043
+#: config/tc-hppa.c:6992
 msgid "Missing .EXIT for a .ENTRY"
 msgstr ""
 
-#: config/tc-hppa.c:7080
+#: config/tc-hppa.c:7029
 msgid "Not in a space.\n"
 msgstr ""
 
-#: config/tc-hppa.c:7083
+#: config/tc-hppa.c:7032
 msgid "Not in a subspace.\n"
 msgstr ""
 
-#: config/tc-hppa.c:7172
+#: config/tc-hppa.c:7121
 msgid "Invalid .SPACE argument"
 msgstr ""
 
-#: config/tc-hppa.c:7218
+#: config/tc-hppa.c:7167
 msgid "Can't change spaces within a procedure definition. Ignored"
 msgstr ""
 
-#: config/tc-hppa.c:7346
+#: config/tc-hppa.c:7295
 #, c-format
 msgid "Undefined space: '%s' Assuming space number = 0."
 msgstr ""
 
-#: config/tc-hppa.c:7369
+#: config/tc-hppa.c:7318
 msgid "Must be in a space before changing or declaring subspaces.\n"
 msgstr ""
 
-#: config/tc-hppa.c:7373
+#: config/tc-hppa.c:7322
 msgid "Can't change subspaces within a procedure definition. Ignored"
 msgstr ""
 
-#: config/tc-hppa.c:7409
+#: config/tc-hppa.c:7358
 msgid "Parameters of an existing subspace can't be modified"
 msgstr ""
 
-#: config/tc-hppa.c:7461
+#: config/tc-hppa.c:7410
 msgid "Alignment must be a power of 2"
 msgstr ""
 
-#: config/tc-hppa.c:7508
+#: config/tc-hppa.c:7457
 msgid "FIRST not supported as a .SUBSPACE argument"
 msgstr ""
 
-#: config/tc-hppa.c:7510
+#: config/tc-hppa.c:7459
 msgid "Invalid .SUBSPACE argument"
 msgstr ""
 
-#: config/tc-hppa.c:7699
+#: config/tc-hppa.c:7648
 #, c-format
 msgid "Internal error: Unable to find containing space for %s."
 msgstr ""
 
-#: config/tc-hppa.c:7737
+#: config/tc-hppa.c:7686
 #, c-format
 msgid "Out of memory: could not allocate new space chain entry: %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:7825
+#: config/tc-hppa.c:7774
 #, c-format
 msgid "Out of memory: could not allocate new subspace chain entry: %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:8270
+#: config/tc-hppa.c:8219
 msgid "-R option not supported on this target."
 msgstr ""
 
-#: config/tc-hppa.c:8287 config/tc-sparc.c:825 config/tc-sparc.c:861
+#: config/tc-hppa.c:8236 config/tc-sparc.c:825 config/tc-sparc.c:861
 #, c-format
 msgid "Internal error: can't hash `%s': %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:8296 config/tc-i860.c:236
+#: config/tc-hppa.c:8245 config/tc-i860.c:236
 #, c-format
 msgid "internal error: losing opcode: `%s' \"%s\"\n"
 msgstr ""
@@ -5286,7 +5264,7 @@ msgstr ""
 msgid "no such architecture modifier: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:1604 config/tc-i386.c:7257 config/tc-maxq.c:223
+#: config/tc-i386.c:1604 config/tc-i386.c:7210 config/tc-maxq.c:223
 msgid "Unknown architecture"
 msgstr ""
 
@@ -5343,13 +5321,13 @@ msgstr ""
 msgid "can't encode register '%s%s' in an instruction requiring REX prefix."
 msgstr ""
 
-#: config/tc-i386.c:2389 config/tc-i386.c:2497 config/tc-maxq.c:838
-#: config/tc-maxq.c:868
+#: config/tc-i386.c:2389 config/tc-i386.c:2497 config/tc-maxq.c:800
+#: config/tc-maxq.c:830
 #, c-format
 msgid "no such instruction: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:2400 config/tc-i386.c:2530 config/tc-maxq.c:846
+#: config/tc-i386.c:2400 config/tc-i386.c:2530 config/tc-maxq.c:808
 #, c-format
 msgid "invalid character %s in mnemonic"
 msgstr ""
@@ -5401,7 +5379,7 @@ msgstr ""
 msgid "unbalanced parenthesis in operand %d."
 msgstr ""
 
-#: config/tc-i386.c:2624 config/tc-maxq.c:1888
+#: config/tc-i386.c:2624 config/tc-maxq.c:1850
 #, c-format
 msgid "unbalanced brackets in operand %d."
 msgstr ""
@@ -5411,12 +5389,12 @@ msgstr ""
 msgid "invalid character %s in operand %d"
 msgstr ""
 
-#: config/tc-i386.c:2660 config/tc-maxq.c:1914
+#: config/tc-i386.c:2660 config/tc-maxq.c:1876
 #, c-format
 msgid "spurious operands; (%d operands/instruction max)"
 msgstr ""
 
-#: config/tc-i386.c:2683 config/tc-maxq.c:1934
+#: config/tc-i386.c:2683 config/tc-maxq.c:1896
 msgid "expecting operand after ','; got nothing"
 msgstr ""
 
@@ -5491,193 +5469,189 @@ msgstr ""
 msgid "Internal error for the '%s' instruction"
 msgstr ""
 
-#: config/tc-i386.c:4248
+#: config/tc-i386.c:4242
 #, c-format
 msgid "the last operand of `%s' must be `%sxmm0'"
 msgstr ""
 
-#: config/tc-i386.c:4251
+#: config/tc-i386.c:4245
 #, c-format
 msgid "the first operand of `%s' must be `%sxmm0'"
 msgstr ""
 
-#: config/tc-i386.c:4294
+#: config/tc-i386.c:4293
 #, c-format
 msgid "you can't `pop %%cs'"
 msgstr ""
 
 #. Reversed arguments on faddp, fsubp, etc.
-#: config/tc-i386.c:4323
+#: config/tc-i386.c:4322
 #, c-format
 msgid "translating to `%s %s%s,%s%s'"
 msgstr ""
 
 #. Extraneous `l' suffix on fp insn.
-#: config/tc-i386.c:4330
+#: config/tc-i386.c:4329
 #, c-format
 msgid "translating to `%s %s%s'"
 msgstr ""
 
-#: config/tc-i386.c:4358
+#: config/tc-i386.c:4357
 #, c-format
 msgid "segment override on `%s' is ineffectual"
 msgstr ""
 
-#: config/tc-i386.c:4785 config/tc-i386.c:4879 config/tc-i386.c:4924
+#: config/tc-i386.c:4784 config/tc-i386.c:4878 config/tc-i386.c:4923
 msgid "skipping prefixes on this instruction"
 msgstr ""
 
-#: config/tc-i386.c:4944
+#: config/tc-i386.c:4943
 msgid "16-bit jump out of range"
 msgstr ""
 
-#: config/tc-i386.c:4953
+#: config/tc-i386.c:4952
 #, c-format
 msgid "can't handle non absolute segment in `%s'"
 msgstr ""
 
-#: config/tc-i386.c:5539
+#: config/tc-i386.c:5538
 #, c-format
 msgid "@%s reloc is not supported with %d-bit output format"
 msgstr ""
 
-#: config/tc-i386.c:5583
+#: config/tc-i386.c:5582
 #, c-format
 msgid "missing or invalid expression `%s'"
 msgstr ""
 
-#: config/tc-i386.c:5636
+#: config/tc-i386.c:5635
 #, c-format
 msgid "at most %d immediate operands are allowed"
 msgstr ""
 
-#: config/tc-i386.c:5658 config/tc-i386.c:5896 config/tc-maxq.c:1500
+#: config/tc-i386.c:5657 config/tc-i386.c:5895 config/tc-maxq.c:1462
 #, c-format
 msgid "junk `%s' after expression"
 msgstr ""
 
-#: config/tc-i386.c:5671
+#: config/tc-i386.c:5670
 #, c-format
 msgid "missing or invalid immediate expression `%s'"
 msgstr ""
 
-#: config/tc-i386.c:5694 config/tc-i386.c:5951 config/tc-maxq.c:1530
+#: config/tc-i386.c:5693 config/tc-i386.c:5950 config/tc-maxq.c:1492
 #, c-format
 msgid "unimplemented segment %s in operand"
 msgstr ""
 
-#: config/tc-i386.c:5700
+#: config/tc-i386.c:5699
 #, c-format
 msgid "illegal immediate register operand %s"
 msgstr ""
 
-#: config/tc-i386.c:5748
+#: config/tc-i386.c:5747
 #, c-format
 msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'"
 msgstr ""
 
-#: config/tc-i386.c:5757
+#: config/tc-i386.c:5756
 #, c-format
 msgid "scale factor of %d without an index register"
 msgstr ""
 
-#: config/tc-i386.c:5779
+#: config/tc-i386.c:5778
 #, c-format
 msgid "at most %d displacement operands are allowed"
 msgstr ""
 
-#: config/tc-i386.c:5936
+#: config/tc-i386.c:5935
 #, c-format
 msgid "missing or invalid displacement expression `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6056
+#: config/tc-i386.c:6055
 #, c-format
 msgid "`%s' is not a valid base/index expression"
 msgstr ""
 
-#: config/tc-i386.c:6060
+#: config/tc-i386.c:6059
 #, c-format
 msgid "`%s' is not a valid %s bit base/index expression"
 msgstr ""
 
-#: config/tc-i386.c:6136
+#: config/tc-i386.c:6135
 #, c-format
 msgid "bad memory operand `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6151
+#: config/tc-i386.c:6150
 #, c-format
 msgid "junk `%s' after register"
 msgstr ""
 
-#: config/tc-i386.c:6163 config/tc-i386.c:6279 config/tc-i386.c:6320
+#: config/tc-i386.c:6162 config/tc-i386.c:6278 config/tc-i386.c:6319
 #, c-format
 msgid "bad register name `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6171
+#: config/tc-i386.c:6170
 msgid "immediate operand illegal with absolute jump"
 msgstr ""
 
-#: config/tc-i386.c:6193
+#: config/tc-i386.c:6192
 #, c-format
 msgid "too many memory references for `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6271
+#: config/tc-i386.c:6270
 #, c-format
 msgid "expecting `,' or `)' after index register in `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6296
+#: config/tc-i386.c:6295
 #, c-format
 msgid "expecting `)' after scale factor in `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6304
+#: config/tc-i386.c:6303
 #, c-format
 msgid "expecting index register or scale factor after `,'; got '%c'"
 msgstr ""
 
-#: config/tc-i386.c:6312
+#: config/tc-i386.c:6311
 #, c-format
 msgid "expecting `,' or `)' after base register in `%s'"
 msgstr ""
 
 #. It's not a memory operand; argh!
-#: config/tc-i386.c:6355
+#: config/tc-i386.c:6354
 #, c-format
 msgid "invalid char %s beginning operand %d `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6531
+#: config/tc-i386.c:6530
 msgid "long jump required"
 msgstr ""
 
-#: config/tc-i386.c:6586
+#: config/tc-i386.c:6585
 msgid "jump target out of range"
 msgstr ""
 
-#: config/tc-i386.c:6831
-msgid "Bad call to md_atof ()"
-msgstr ""
-
-#: config/tc-i386.c:7094
+#: config/tc-i386.c:7047
 msgid "No compiled in support for x86_64"
 msgstr ""
 
-#: config/tc-i386.c:7123 config/tc-i386.c:7139
+#: config/tc-i386.c:7076 config/tc-i386.c:7092
 #, c-format
 msgid "Invalid -march= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:7144 config/tc-i386.c:7156
+#: config/tc-i386.c:7097 config/tc-i386.c:7109
 #, c-format
 msgid "Invalid -mtune= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:7170
+#: config/tc-i386.c:7123
 #, c-format
 msgid ""
 "  -Q                      ignored\n"
@@ -5685,34 +5659,34 @@ msgid ""
 "  -k                      ignored\n"
 msgstr ""
 
-#: config/tc-i386.c:7175
+#: config/tc-i386.c:7128
 #, c-format
 msgid ""
 "  -n                      Do not optimize code alignment\n"
 "  -q                      quieten some warnings\n"
 msgstr ""
 
-#: config/tc-i386.c:7179
+#: config/tc-i386.c:7132
 #, c-format
 msgid "  -s                      ignored\n"
 msgstr ""
 
-#: config/tc-i386.c:7183
+#: config/tc-i386.c:7136
 #, c-format
 msgid "  --32/--64               generate 32bit/64bit code\n"
 msgstr ""
 
-#: config/tc-i386.c:7187
+#: config/tc-i386.c:7140
 #, c-format
 msgid "  --divide                do not treat `/' as a comment character\n"
 msgstr ""
 
-#: config/tc-i386.c:7190
+#: config/tc-i386.c:7143
 #, c-format
 msgid "  --divide                ignored\n"
 msgstr ""
 
-#: config/tc-i386.c:7193
+#: config/tc-i386.c:7146
 #, c-format
 msgid ""
 "  -march=CPU/-mtune=CPU   generate code/optimize for CPU, where CPU is one "
@@ -5723,113 +5697,113 @@ msgid ""
 "generic64\n"
 msgstr ""
 
-#: config/tc-i386.c:7346 config/tc-s390.c:1862
+#: config/tc-i386.c:7299 config/tc-s390.c:1822
 msgid "GOT already in symbol table"
 msgstr ""
 
-#: config/tc-i386.c:7495
+#: config/tc-i386.c:7448
 #, c-format
 msgid "can not do %d byte pc-relative relocation"
 msgstr ""
 
-#: config/tc-i386.c:7513 config/tc-maxq.c:247
+#: config/tc-i386.c:7466 config/tc-maxq.c:247
 #, c-format
 msgid "can not do %d byte relocation"
 msgstr ""
 
-#: config/tc-i386.c:7592 config/tc-maxq.c:274 config/tc-s390.c:2308
+#: config/tc-i386.c:7545 config/tc-maxq.c:274 config/tc-s390.c:2268
 #, c-format
 msgid "cannot represent relocation type %s"
 msgstr ""
 
-#: config/tc-i386.c:7844
+#: config/tc-i386.c:7797
 #, c-format
 msgid "invalid operand for '%s' ('%s' unexpected)"
 msgstr ""
 
-#: config/tc-i386.c:7856
+#: config/tc-i386.c:7809
 #, c-format
 msgid "too many memory references for '%s'"
 msgstr ""
 
 #. See the comments in intel_bracket_expr.
-#: config/tc-i386.c:7867
+#: config/tc-i386.c:7820
 #, c-format
 msgid "Treating `%s' as memory reference"
 msgstr ""
 
-#: config/tc-i386.c:8183
+#: config/tc-i386.c:8136
 #, c-format
 msgid "Unknown operand modifier `%s'"
 msgstr ""
 
-#: config/tc-i386.c:8199
+#: config/tc-i386.c:8152
 msgid "Conflicting operand modifiers"
 msgstr ""
 
-#: config/tc-i386.c:8248
+#: config/tc-i386.c:8201
 msgid "Invalid operand to `OFFSET'"
 msgstr ""
 
-#: config/tc-i386.c:8322
+#: config/tc-i386.c:8275
 #, c-format
 msgid "`[%.*s]' taken to mean just `%.*s'"
 msgstr ""
 
-#: config/tc-i386.c:8414
+#: config/tc-i386.c:8367
 #, c-format
 msgid "`%s' is not a valid segment register"
 msgstr ""
 
-#: config/tc-i386.c:8419
+#: config/tc-i386.c:8372
 msgid "Extra segment override ignored"
 msgstr ""
 
-#: config/tc-i386.c:8453 config/tc-i386.c:8618
+#: config/tc-i386.c:8406 config/tc-i386.c:8571
 msgid "Register scaling only allowed in memory operands"
 msgstr ""
 
-#: config/tc-i386.c:8475 config/tc-i386.c:8594
+#: config/tc-i386.c:8428 config/tc-i386.c:8547
 #, c-format
 msgid "Syntax error: Expecting a constant, got `%s'"
 msgstr ""
 
-#: config/tc-i386.c:8503
+#: config/tc-i386.c:8456
 msgid "Too many register references in memory operand"
 msgstr ""
 
-#: config/tc-i386.c:8522
+#: config/tc-i386.c:8475
 msgid "Invalid use of register"
 msgstr ""
 
-#: config/tc-i386.c:8671
+#: config/tc-i386.c:8624
 #, c-format
 msgid "Unrecognized token '%s'"
 msgstr ""
 
-#: config/tc-i386.c:8687
+#: config/tc-i386.c:8640
 #, c-format
 msgid "Unexpected token `%s'"
 msgstr ""
 
-#: config/tc-i386.c:8845
+#: config/tc-i386.c:8798
 msgid "`:' expected"
 msgstr ""
 
-#: config/tc-i386.c:8870
+#: config/tc-i386.c:8823
 #, c-format
 msgid "Unrecognized token `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9005
+#: config/tc-i386.c:8958
 msgid "Bad .section directive: want a,l,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-i386.c:9008
+#: config/tc-i386.c:8961
 msgid "Bad .section directive: want a,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-i386.c:9027
+#: config/tc-i386.c:8980
 msgid ".largecomm supported only in 64bit mode, producing .comm"
 msgstr ""
 
@@ -5896,11 +5870,11 @@ msgstr ""
 msgid "Prefix 'd.' invalid for instruction `%s'"
 msgstr ""
 
-#: config/tc-i860.c:1086
+#: config/tc-i860.c:1034
 msgid "i860_estimate_size_before_relax\n"
 msgstr ""
 
-#: config/tc-i860.c:1185
+#: config/tc-i860.c:1133
 #, c-format
 msgid ""
 "  -EL\t\t\t  generate code for little endian mode (default)\n"
@@ -5911,42 +5885,42 @@ msgid ""
 msgstr ""
 
 #. SVR4 compatibility flags.
-#: config/tc-i860.c:1193
+#: config/tc-i860.c:1141
 #, c-format
 msgid ""
 "  -V\t\t\t  print assembler version number\n"
 "  -Qy, -Qn\t\t  ignored\n"
 msgstr ""
 
-#: config/tc-i860.c:1256
+#: config/tc-i860.c:1204
 msgid "This immediate requires 0 MOD 2 alignment"
 msgstr ""
 
-#: config/tc-i860.c:1259
+#: config/tc-i860.c:1207
 msgid "This immediate requires 0 MOD 4 alignment"
 msgstr ""
 
-#: config/tc-i860.c:1262
+#: config/tc-i860.c:1210
 msgid "This immediate requires 0 MOD 8 alignment"
 msgstr ""
 
-#: config/tc-i860.c:1265
+#: config/tc-i860.c:1213
 msgid "This immediate requires 0 MOD 16 alignment"
 msgstr ""
 
-#: config/tc-i860.c:1360
+#: config/tc-i860.c:1308
 msgid "5-bit immediate too large"
 msgstr ""
 
-#: config/tc-i860.c:1363
+#: config/tc-i860.c:1311
 msgid "5-bit field must be absolute"
 msgstr ""
 
-#: config/tc-i860.c:1408 config/tc-i860.c:1431
+#: config/tc-i860.c:1356 config/tc-i860.c:1379
 msgid "A branch offset requires 0 MOD 4 alignment"
 msgstr ""
 
-#: config/tc-i860.c:1452
+#: config/tc-i860.c:1400
 #, c-format
 msgid "Unrecognized fix-up (0x%08lx)"
 msgstr ""
@@ -5997,7 +5971,7 @@ msgstr ""
 msgid "architecture of opcode conflicts with that of earlier instruction(s)"
 msgstr ""
 
-#: config/tc-i960.c:1423 config/tc-xtensa.c:11341
+#: config/tc-i960.c:1423 config/tc-xtensa.c:11305
 msgid "too many operands"
 msgstr ""
 
@@ -6020,22 +5994,22 @@ msgstr ""
 msgid "improper number of operands.  expecting %d, got %d"
 msgstr ""
 
-#: config/tc-i960.c:1808
+#: config/tc-i960.c:1751
 #, c-format
 msgid "Fixup of %ld too large for field width of %d"
 msgstr ""
 
-#: config/tc-i960.c:1918
+#: config/tc-i960.c:1861
 #, c-format
 msgid "invalid architecture %s"
 msgstr ""
 
-#: config/tc-i960.c:1938
+#: config/tc-i960.c:1881
 #, c-format
 msgid "I960 options:\n"
 msgstr ""
 
-#: config/tc-i960.c:1941
+#: config/tc-i960.c:1884
 #, c-format
 msgid ""
 "\n"
@@ -6047,56 +6021,56 @@ msgid ""
 "\t\t\tlong displacements\n"
 msgstr ""
 
-#: config/tc-i960.c:2205
+#: config/tc-i960.c:2148
 msgid "should have 1 or 2 operands"
 msgstr ""
 
-#: config/tc-i960.c:2213 config/tc-i960.c:2228
+#: config/tc-i960.c:2156 config/tc-i960.c:2171
 #, c-format
 msgid "Redefining leafproc %s"
 msgstr ""
 
-#: config/tc-i960.c:2258
+#: config/tc-i960.c:2201
 msgid "should have two operands"
 msgstr ""
 
-#: config/tc-i960.c:2268
+#: config/tc-i960.c:2211
 msgid "'entry_num' must be absolute number in [0,31]"
 msgstr ""
 
-#: config/tc-i960.c:2276
+#: config/tc-i960.c:2219
 #, c-format
 msgid "Redefining entrynum for sysproc %s"
 msgstr ""
 
 #. Should not happen: see block comment above.
-#: config/tc-i960.c:2376
+#: config/tc-i960.c:2319
 #, c-format
 msgid "Trying to 'bal' to %s"
 msgstr ""
 
-#: config/tc-i960.c:2386
+#: config/tc-i960.c:2329
 msgid "Looks like a proc, but can't tell what kind.\n"
 msgstr ""
 
-#: config/tc-i960.c:2405
+#: config/tc-i960.c:2348
 msgid "big endian mode is not supported"
 msgstr ""
 
-#: config/tc-i960.c:2407
+#: config/tc-i960.c:2350
 #, c-format
 msgid "ignoring unrecognized .endian type `%s'"
 msgstr ""
 
-#: config/tc-i960.c:2452
+#: config/tc-i960.c:2395
 msgid "can't use COBR format with external label"
 msgstr ""
 
-#: config/tc-i960.c:2627
+#: config/tc-i960.c:2570
 msgid "option --link-relax is only supported in b.out format"
 msgstr ""
 
-#: config/tc-i960.c:2654
+#: config/tc-i960.c:2597
 #, c-format
 msgid "No 'bal' entry point for leafproc %s"
 msgstr ""
@@ -6891,46 +6865,46 @@ msgstr ""
 msgid "Cannot represent %s relocation in object file"
 msgstr ""
 
-#: config/tc-ia64.c:11789
+#: config/tc-ia64.c:11786
 msgid "Can't add stop bit to mark end of instruction group"
 msgstr ""
 
-#: config/tc-ia64.c:11889 config/tc-score.c:6398 read.c:1446 read.c:2417
+#: config/tc-ia64.c:11886 config/tc-score.c:6328 read.c:1446 read.c:2417
 #: read.c:3046 read.c:3379 read.c:3423
 msgid "expected symbol name"
 msgstr ""
 
-#: config/tc-ia64.c:11899 read.c:2427 read.c:3056 read.c:3407 stabs.c:468
+#: config/tc-ia64.c:11896 read.c:2427 read.c:3056 read.c:3407 stabs.c:468
 #, c-format
 msgid "expected comma after \"%s\""
 msgstr ""
 
-#: config/tc-ia64.c:11941
+#: config/tc-ia64.c:11938
 #, c-format
 msgid "`%s' is already the alias of %s `%s'"
 msgstr ""
 
-#: config/tc-ia64.c:11951
+#: config/tc-ia64.c:11948
 #, c-format
 msgid "%s `%s' already has an alias `%s'"
 msgstr ""
 
-#: config/tc-ia64.c:11962
+#: config/tc-ia64.c:11959
 #, c-format
 msgid "inserting \"%s\" into %s alias hash table failed: %s"
 msgstr ""
 
-#: config/tc-ia64.c:11970
+#: config/tc-ia64.c:11967
 #, c-format
 msgid "inserting \"%s\" into %s name hash table failed: %s"
 msgstr ""
 
-#: config/tc-ia64.c:11989
+#: config/tc-ia64.c:11986
 #, c-format
 msgid "symbol `%s' aliased to `%s' is not used"
 msgstr ""
 
-#: config/tc-ia64.c:12011
+#: config/tc-ia64.c:12008
 #, c-format
 msgid "section `%s' aliased to `%s' is not used"
 msgstr ""
@@ -6978,40 +6952,40 @@ msgstr ""
 msgid "Unmatched high relocation"
 msgstr ""
 
-#: config/tc-iq2000.c:878 config/tc-mips.c:14526 config/tc-score.c:6105
+#: config/tc-iq2000.c:829 config/tc-mips.c:14478 config/tc-score.c:6035
 msgid ".end not in text section"
 msgstr ""
 
-#: config/tc-iq2000.c:882 config/tc-mips.c:14530 config/tc-score.c:6108
+#: config/tc-iq2000.c:833 config/tc-mips.c:14482 config/tc-score.c:6038
 msgid ".end directive without a preceding .ent directive."
 msgstr ""
 
-#: config/tc-iq2000.c:891 config/tc-mips.c:14539 config/tc-score.c:6116
+#: config/tc-iq2000.c:842 config/tc-mips.c:14491 config/tc-score.c:6046
 msgid ".end symbol does not match .ent symbol."
 msgstr ""
 
-#: config/tc-iq2000.c:894 config/tc-mips.c:14546 config/tc-score.c:6121
+#: config/tc-iq2000.c:845 config/tc-mips.c:14498 config/tc-score.c:6051
 msgid ".end directive missing or unknown symbol"
 msgstr ""
 
-#: config/tc-iq2000.c:912
+#: config/tc-iq2000.c:863
 msgid "Expected simple number."
 msgstr ""
 
-#: config/tc-iq2000.c:941 config/tc-mips.c:14451 config/tc-score.c:5955
+#: config/tc-iq2000.c:892 config/tc-mips.c:14403 config/tc-score.c:5885
 #, c-format
 msgid " *input_line_pointer == '%c' 0x%02x\n"
 msgstr ""
 
-#: config/tc-iq2000.c:943
+#: config/tc-iq2000.c:894
 msgid "Invalid number"
 msgstr ""
 
-#: config/tc-iq2000.c:978 config/tc-mips.c:14621 config/tc-score.c:5994
+#: config/tc-iq2000.c:929 config/tc-mips.c:14573 config/tc-score.c:5924
 msgid ".ent or .aent not in text section."
 msgstr ""
 
-#: config/tc-iq2000.c:981
+#: config/tc-iq2000.c:932
 msgid "missing `.end'"
 msgstr ""
 
@@ -7236,7 +7210,7 @@ msgid ""
 "is this intentional ?"
 msgstr ""
 
-#: config/tc-m32r.c:1492 config/tc-ppc.c:1854 config/tc-ppc.c:4402
+#: config/tc-m32r.c:1492 config/tc-ppc.c:1866 config/tc-ppc.c:4414
 msgid "Expected comma after symbol-name: rest of line ignored."
 msgstr ""
 
@@ -7245,16 +7219,16 @@ msgstr ""
 msgid ".SCOMMon length (%ld.) <0! Ignored."
 msgstr ""
 
-#: config/tc-m32r.c:1516 config/tc-ppc.c:1876 config/tc-ppc.c:3023
-#: config/tc-ppc.c:4426
+#: config/tc-m32r.c:1516 config/tc-ppc.c:1888 config/tc-ppc.c:3035
+#: config/tc-ppc.c:4438
 msgid "ignoring bad alignment"
 msgstr ""
 
-#: config/tc-m32r.c:1528 config/tc-ppc.c:1913 config/tc-v850.c:322
+#: config/tc-m32r.c:1528 config/tc-ppc.c:1925 config/tc-v850.c:322
 msgid "Common alignment not a power of 2"
 msgstr ""
 
-#: config/tc-m32r.c:1543 config/tc-ppc.c:1887 config/tc-ppc.c:4438
+#: config/tc-m32r.c:1543 config/tc-ppc.c:1899 config/tc-ppc.c:4450
 #, c-format
 msgid "Ignoring attempt to re-define symbol `%s'."
 msgstr ""
@@ -7313,40 +7287,40 @@ msgstr ""
 msgid "Option `%s' is not recognized."
 msgstr ""
 
-#: config/tc-m68hc11.c:723
+#: config/tc-m68hc11.c:671
 msgid "#<imm8>"
 msgstr ""
 
-#: config/tc-m68hc11.c:732
+#: config/tc-m68hc11.c:680
 msgid "#<imm16>"
 msgstr ""
 
-#: config/tc-m68hc11.c:741 config/tc-m68hc11.c:750
+#: config/tc-m68hc11.c:689 config/tc-m68hc11.c:698
 msgid "<imm8>,X"
 msgstr ""
 
-#: config/tc-m68hc11.c:777
+#: config/tc-m68hc11.c:725
 msgid "*<abs8>"
 msgstr ""
 
-#: config/tc-m68hc11.c:789
+#: config/tc-m68hc11.c:737
 msgid "#<mask>"
 msgstr ""
 
-#: config/tc-m68hc11.c:799
+#: config/tc-m68hc11.c:747
 #, c-format
 msgid "symbol%d"
 msgstr ""
 
-#: config/tc-m68hc11.c:801
+#: config/tc-m68hc11.c:749
 msgid "<abs>"
 msgstr ""
 
-#: config/tc-m68hc11.c:820
+#: config/tc-m68hc11.c:768
 msgid "<label>"
 msgstr ""
 
-#: config/tc-m68hc11.c:836
+#: config/tc-m68hc11.c:784
 #, c-format
 msgid ""
 "# Example of `%s' instructions\n"
@@ -7354,257 +7328,257 @@ msgid ""
 "_start:\n"
 msgstr ""
 
-#: config/tc-m68hc11.c:883
+#: config/tc-m68hc11.c:831
 #, c-format
 msgid "Instruction `%s' is not recognized."
 msgstr ""
 
-#: config/tc-m68hc11.c:888
+#: config/tc-m68hc11.c:836
 #, c-format
 msgid "Instruction formats for `%s':"
 msgstr ""
 
-#: config/tc-m68hc11.c:1018
+#: config/tc-m68hc11.c:966
 #, c-format
 msgid "Immediate operand is not allowed for operand %d."
 msgstr ""
 
-#: config/tc-m68hc11.c:1062
+#: config/tc-m68hc11.c:1010
 msgid "Indirect indexed addressing is not valid for 68HC11."
 msgstr ""
 
-#: config/tc-m68hc11.c:1082
+#: config/tc-m68hc11.c:1030
 msgid "Spurious `,' or bad indirect register addressing mode."
 msgstr ""
 
-#: config/tc-m68hc11.c:1104
+#: config/tc-m68hc11.c:1052
 msgid "Missing second register or offset for indexed-indirect mode."
 msgstr ""
 
-#: config/tc-m68hc11.c:1114
+#: config/tc-m68hc11.c:1062
 msgid "Missing second register for indexed-indirect mode."
 msgstr ""
 
-#: config/tc-m68hc11.c:1130
+#: config/tc-m68hc11.c:1078
 msgid "Missing `]' to close indexed-indirect mode."
 msgstr ""
 
-#: config/tc-m68hc11.c:1175
+#: config/tc-m68hc11.c:1123
 msgid "Illegal operand."
 msgstr ""
 
-#: config/tc-m68hc11.c:1180
+#: config/tc-m68hc11.c:1128
 msgid "Missing operand."
 msgstr ""
 
-#: config/tc-m68hc11.c:1233
+#: config/tc-m68hc11.c:1181
 msgid "Pre-increment mode is not valid for 68HC11"
 msgstr ""
 
-#: config/tc-m68hc11.c:1246
+#: config/tc-m68hc11.c:1194
 msgid "Wrong register in register indirect mode."
 msgstr ""
 
-#: config/tc-m68hc11.c:1254
+#: config/tc-m68hc11.c:1202
 msgid "Missing `]' to close register indirect operand."
 msgstr ""
 
-#: config/tc-m68hc11.c:1274
+#: config/tc-m68hc11.c:1222
 msgid "Post-decrement mode is not valid for 68HC11."
 msgstr ""
 
-#: config/tc-m68hc11.c:1282
+#: config/tc-m68hc11.c:1230
 msgid "Post-increment mode is not valid for 68HC11."
 msgstr ""
 
-#: config/tc-m68hc11.c:1300
+#: config/tc-m68hc11.c:1248
 msgid "Invalid indexed indirect mode."
 msgstr ""
 
-#: config/tc-m68hc11.c:1392
+#: config/tc-m68hc11.c:1340
 #, c-format
 msgid "Trap id `%ld' is out of range."
 msgstr ""
 
-#: config/tc-m68hc11.c:1396
+#: config/tc-m68hc11.c:1344
 msgid "Trap id must be within [0x30..0x39] or [0x40..0xff]."
 msgstr ""
 
-#: config/tc-m68hc11.c:1403
+#: config/tc-m68hc11.c:1351
 #, c-format
 msgid "Operand out of 8-bit range: `%ld'."
 msgstr ""
 
-#: config/tc-m68hc11.c:1410
+#: config/tc-m68hc11.c:1358
 msgid "The trap id must be a constant."
 msgstr ""
 
-#: config/tc-m68hc11.c:1445
+#: config/tc-m68hc11.c:1393
 #, c-format
 msgid "Operand `%x' not recognized in fixup8."
 msgstr ""
 
-#: config/tc-m68hc11.c:1462 config/tc-m68hc11.c:1511
+#: config/tc-m68hc11.c:1410 config/tc-m68hc11.c:1459
 #, c-format
 msgid "Operand out of 16-bit range: `%ld'."
 msgstr ""
 
-#: config/tc-m68hc11.c:1494 config/tc-m68hc11.c:1527
+#: config/tc-m68hc11.c:1442 config/tc-m68hc11.c:1475
 #, c-format
 msgid "Operand `%x' not recognized in fixup16."
 msgstr ""
 
-#: config/tc-m68hc11.c:1544
+#: config/tc-m68hc11.c:1492
 #, c-format
 msgid "Unexpected branch conversion with `%x'"
 msgstr ""
 
-#: config/tc-m68hc11.c:1635 config/tc-m68hc11.c:1773
+#: config/tc-m68hc11.c:1583 config/tc-m68hc11.c:1721
 #, c-format
 msgid "Operand out of range for a relative branch: `%ld'"
 msgstr ""
 
-#: config/tc-m68hc11.c:1741
+#: config/tc-m68hc11.c:1689
 msgid "Invalid register for dbcc/tbcc instruction."
 msgstr ""
 
-#: config/tc-m68hc11.c:1829
+#: config/tc-m68hc11.c:1777
 #, c-format
 msgid "Increment/decrement value is out of range: `%ld'."
 msgstr ""
 
-#: config/tc-m68hc11.c:1840
+#: config/tc-m68hc11.c:1788
 msgid "Expecting a register."
 msgstr ""
 
-#: config/tc-m68hc11.c:1855
+#: config/tc-m68hc11.c:1803
 msgid "Invalid register for post/pre increment."
 msgstr ""
 
-#: config/tc-m68hc11.c:1885
+#: config/tc-m68hc11.c:1833
 msgid "Invalid register."
 msgstr ""
 
-#: config/tc-m68hc11.c:1892
+#: config/tc-m68hc11.c:1840
 #, c-format
 msgid "Offset out of 16-bit range: %ld."
 msgstr ""
 
-#: config/tc-m68hc11.c:1897
+#: config/tc-m68hc11.c:1845
 #, c-format
 msgid "Offset out of 5-bit range for movw/movb insn: %ld."
 msgstr ""
 
-#: config/tc-m68hc11.c:2003
+#: config/tc-m68hc11.c:1951
 msgid "Expecting register D for indexed indirect mode."
 msgstr ""
 
-#: config/tc-m68hc11.c:2005
+#: config/tc-m68hc11.c:1953
 msgid "Indexed indirect mode is not allowed for movb/movw."
 msgstr ""
 
-#: config/tc-m68hc11.c:2022
+#: config/tc-m68hc11.c:1970
 msgid "Invalid accumulator register."
 msgstr ""
 
-#: config/tc-m68hc11.c:2047
+#: config/tc-m68hc11.c:1995
 msgid "Invalid indexed register."
 msgstr ""
 
-#: config/tc-m68hc11.c:2055
+#: config/tc-m68hc11.c:2003
 msgid "Addressing mode not implemented yet."
 msgstr ""
 
-#: config/tc-m68hc11.c:2068
+#: config/tc-m68hc11.c:2016
 msgid "Invalid source register for this instruction, use 'tfr'."
 msgstr ""
 
-#: config/tc-m68hc11.c:2070
+#: config/tc-m68hc11.c:2018
 msgid "Invalid source register."
 msgstr ""
 
-#: config/tc-m68hc11.c:2075
+#: config/tc-m68hc11.c:2023
 msgid "Invalid destination register for this instruction, use 'tfr'."
 msgstr ""
 
-#: config/tc-m68hc11.c:2077
+#: config/tc-m68hc11.c:2025
 msgid "Invalid destination register."
 msgstr ""
 
-#: config/tc-m68hc11.c:2173
+#: config/tc-m68hc11.c:2121
 msgid "Invalid indexed register, expecting register X."
 msgstr ""
 
-#: config/tc-m68hc11.c:2175
+#: config/tc-m68hc11.c:2123
 msgid "Invalid indexed register, expecting register Y."
 msgstr ""
 
-#: config/tc-m68hc11.c:2481
+#: config/tc-m68hc11.c:2429
 msgid "No instruction or missing opcode."
 msgstr ""
 
-#: config/tc-m68hc11.c:2546
+#: config/tc-m68hc11.c:2494
 #, c-format
 msgid "Opcode `%s' is not recognized."
 msgstr ""
 
-#: config/tc-m68hc11.c:2568
+#: config/tc-m68hc11.c:2516
 #, c-format
 msgid "Garbage at end of instruction: `%s'."
 msgstr ""
 
-#: config/tc-m68hc11.c:2591
+#: config/tc-m68hc11.c:2539
 #, c-format
 msgid "Invalid operand for `%s'"
 msgstr ""
 
-#: config/tc-m68hc11.c:2642
+#: config/tc-m68hc11.c:2590
 #, c-format
 msgid "Invalid mode: %s\n"
 msgstr ""
 
-#: config/tc-m68hc11.c:2702
+#: config/tc-m68hc11.c:2650
 msgid "bad .relax format"
 msgstr ""
 
-#: config/tc-m68hc11.c:2746
+#: config/tc-m68hc11.c:2694
 #, c-format
 msgid "Relocation %d is not supported by object file format."
 msgstr ""
 
-#: config/tc-m68hc11.c:3025
+#: config/tc-m68hc11.c:2973
 msgid "bra or bsr with undefined symbol."
 msgstr ""
 
-#: config/tc-m68hc11.c:3128 config/tc-m68hc11.c:3185
+#: config/tc-m68hc11.c:3076 config/tc-m68hc11.c:3133
 #, c-format
 msgid "Subtype %d is not recognized."
 msgstr ""
 
-#: config/tc-m68hc11.c:3244
+#: config/tc-m68hc11.c:3192
 msgid "Expression too complex."
 msgstr ""
 
-#: config/tc-m68hc11.c:3277
+#: config/tc-m68hc11.c:3225
 msgid "Value out of 16-bit range."
 msgstr ""
 
-#: config/tc-m68hc11.c:3295
+#: config/tc-m68hc11.c:3243
 #, c-format
 msgid "Value %ld too large for 8-bit PC-relative branch."
 msgstr ""
 
-#: config/tc-m68hc11.c:3302
+#: config/tc-m68hc11.c:3250
 #, c-format
 msgid "Auto increment/decrement offset '%ld' is out of range."
 msgstr ""
 
-#: config/tc-m68hc11.c:3315
+#: config/tc-m68hc11.c:3263
 #, c-format
 msgid "Offset out of 5-bit range for movw/movb insn: %ld"
 msgstr ""
 
-#: config/tc-m68hc11.c:3331
+#: config/tc-m68hc11.c:3279
 #, c-format
 msgid "Line %d: unknown relocation type: 0x%x."
 msgstr ""
@@ -7700,7 +7674,7 @@ msgid "operands mismatch"
 msgstr ""
 
 #: config/tc-m68k.c:2337 config/tc-m68k.c:2343 config/tc-m68k.c:2349
-#: config/tc-mmix.c:2487 config/tc-mmix.c:2511
+#: config/tc-mmix.c:2459 config/tc-mmix.c:2483
 msgid "operand out of range"
 msgstr ""
 
@@ -7824,234 +7798,234 @@ msgstr ""
 msgid "text label `%s' aligned to odd boundary"
 msgstr ""
 
-#: config/tc-m68k.c:4838
+#: config/tc-m68k.c:4785
 #, c-format
 msgid "value %ld out of range"
 msgstr ""
 
-#: config/tc-m68k.c:4852
+#: config/tc-m68k.c:4799
 msgid "invalid byte branch offset"
 msgstr ""
 
-#: config/tc-m68k.c:4889
+#: config/tc-m68k.c:4836
 msgid "short branch with zero offset: use :w"
 msgstr ""
 
-#: config/tc-m68k.c:4933
+#: config/tc-m68k.c:4880
 msgid "Conversion of PC relative BSR to absolute JSR"
 msgstr ""
 
-#: config/tc-m68k.c:4944
+#: config/tc-m68k.c:4891
 msgid "Conversion of PC relative branch to absolute jump"
 msgstr ""
 
-#: config/tc-m68k.c:4961 config/tc-m68k.c:5022
+#: config/tc-m68k.c:4908 config/tc-m68k.c:4969
 msgid "Conversion of PC relative conditional branch to absolute jump"
 msgstr ""
 
-#: config/tc-m68k.c:5002
+#: config/tc-m68k.c:4949
 msgid "Conversion of DBcc to absolute jump"
 msgstr ""
 
-#: config/tc-m68k.c:5086
+#: config/tc-m68k.c:5033
 msgid "Conversion of PC relative displacement to absolute"
 msgstr ""
 
-#: config/tc-m68k.c:5299
+#: config/tc-m68k.c:5246
 msgid "Tried to convert PC relative branch to absolute jump"
 msgstr ""
 
-#: config/tc-m68k.c:5344 config/tc-m68k.c:5355 config/tc-m68k.c:5399
+#: config/tc-m68k.c:5291 config/tc-m68k.c:5302 config/tc-m68k.c:5346
 msgid "expression out of range: defaulting to 1"
 msgstr ""
 
-#: config/tc-m68k.c:5391
+#: config/tc-m68k.c:5338
 msgid "expression out of range: defaulting to 0"
 msgstr ""
 
-#: config/tc-m68k.c:5432 config/tc-m68k.c:5444
+#: config/tc-m68k.c:5379 config/tc-m68k.c:5391
 #, c-format
 msgid "Can't deal with expression; defaulting to %ld"
 msgstr ""
 
-#: config/tc-m68k.c:5458
+#: config/tc-m68k.c:5405
 msgid "expression doesn't fit in BYTE"
 msgstr ""
 
-#: config/tc-m68k.c:5462
+#: config/tc-m68k.c:5409
 msgid "expression doesn't fit in WORD"
 msgstr ""
 
-#: config/tc-m68k.c:5549
+#: config/tc-m68k.c:5496
 #, c-format
 msgid "%s: unrecognized processor name"
 msgstr ""
 
-#: config/tc-m68k.c:5610
+#: config/tc-m68k.c:5557
 msgid "bad coprocessor id"
 msgstr ""
 
-#: config/tc-m68k.c:5616
+#: config/tc-m68k.c:5563
 msgid "unrecognized fopt option"
 msgstr ""
 
-#: config/tc-m68k.c:5749
+#: config/tc-m68k.c:5696
 #, c-format
 msgid "option `%s' may not be negated"
 msgstr ""
 
-#: config/tc-m68k.c:5760
+#: config/tc-m68k.c:5707
 #, c-format
 msgid "option `%s' not recognized"
 msgstr ""
 
-#: config/tc-m68k.c:5789
+#: config/tc-m68k.c:5736
 msgid "bad format of OPT NEST=depth"
 msgstr ""
 
-#: config/tc-m68k.c:5845
+#: config/tc-m68k.c:5792
 msgid "missing label"
 msgstr ""
 
-#: config/tc-m68k.c:5869 config/tc-m68k.c:5898
+#: config/tc-m68k.c:5816 config/tc-m68k.c:5845
 msgid "bad register list"
 msgstr ""
 
-#: config/tc-m68k.c:5871
+#: config/tc-m68k.c:5818
 #, c-format
 msgid "bad register list: %s"
 msgstr ""
 
-#: config/tc-m68k.c:5969
+#: config/tc-m68k.c:5916
 msgid "restore without save"
 msgstr ""
 
-#: config/tc-m68k.c:6123 config/tc-m68k.c:6493
+#: config/tc-m68k.c:6070 config/tc-m68k.c:6440
 msgid "syntax error in structured control directive"
 msgstr ""
 
-#: config/tc-m68k.c:6168
+#: config/tc-m68k.c:6115
 msgid "missing condition code in structured control directive"
 msgstr ""
 
-#: config/tc-m68k.c:6239
+#: config/tc-m68k.c:6186
 #, c-format
 msgid ""
 "Condition <%c%c> in structured control directive can not be encoded correctly"
 msgstr ""
 
-#: config/tc-m68k.c:6535
+#: config/tc-m68k.c:6482
 msgid "missing then"
 msgstr ""
 
-#: config/tc-m68k.c:6616
+#: config/tc-m68k.c:6563
 msgid "else without matching if"
 msgstr ""
 
-#: config/tc-m68k.c:6649
+#: config/tc-m68k.c:6596
 msgid "endi without matching if"
 msgstr ""
 
-#: config/tc-m68k.c:6689
+#: config/tc-m68k.c:6636
 msgid "break outside of structured loop"
 msgstr ""
 
-#: config/tc-m68k.c:6727
+#: config/tc-m68k.c:6674
 msgid "next outside of structured loop"
 msgstr ""
 
-#: config/tc-m68k.c:6778
+#: config/tc-m68k.c:6725
 msgid "missing ="
 msgstr ""
 
-#: config/tc-m68k.c:6816
+#: config/tc-m68k.c:6763
 msgid "missing to or downto"
 msgstr ""
 
-#: config/tc-m68k.c:6852 config/tc-m68k.c:6886 config/tc-m68k.c:7100
+#: config/tc-m68k.c:6799 config/tc-m68k.c:6833 config/tc-m68k.c:7047
 msgid "missing do"
 msgstr ""
 
-#: config/tc-m68k.c:6987
+#: config/tc-m68k.c:6934
 msgid "endf without for"
 msgstr ""
 
-#: config/tc-m68k.c:7041
+#: config/tc-m68k.c:6988
 msgid "until without repeat"
 msgstr ""
 
-#: config/tc-m68k.c:7135
+#: config/tc-m68k.c:7082
 msgid "endw without while"
 msgstr ""
 
-#: config/tc-m68k.c:7168 config/tc-m68k.c:7196
+#: config/tc-m68k.c:7115 config/tc-m68k.c:7143
 msgid "already assembled instructions"
 msgstr ""
 
-#: config/tc-m68k.c:7273
+#: config/tc-m68k.c:7220
 #, c-format
 msgid "`%s' is deprecated, use `%s'"
 msgstr ""
 
-#: config/tc-m68k.c:7292
+#: config/tc-m68k.c:7239
 #, c-format
 msgid "cpu `%s' unrecognized"
 msgstr ""
 
-#: config/tc-m68k.c:7298
+#: config/tc-m68k.c:7245
 #, c-format
 msgid "already selected `%s' processor"
 msgstr ""
 
-#: config/tc-m68k.c:7318
+#: config/tc-m68k.c:7265
 #, c-format
 msgid "architecture `%s' unrecognized"
 msgstr ""
 
-#: config/tc-m68k.c:7324
+#: config/tc-m68k.c:7271
 #, c-format
 msgid "already selected `%s' architecture"
 msgstr ""
 
-#: config/tc-m68k.c:7347
+#: config/tc-m68k.c:7294
 #, c-format
 msgid "extension `%s' unrecognized"
 msgstr ""
 
-#: config/tc-m68k.c:7465
+#: config/tc-m68k.c:7412
 #, c-format
 msgid "option `-A%s' is deprecated: use `-%s'"
 msgstr ""
 
-#: config/tc-m68k.c:7498
+#: config/tc-m68k.c:7445
 msgid "architecture features both enabled and disabled"
 msgstr ""
 
-#: config/tc-m68k.c:7525
+#: config/tc-m68k.c:7472
 msgid "selected processor does not have all features of selected architecture"
 msgstr ""
 
-#: config/tc-m68k.c:7534
+#: config/tc-m68k.c:7481
 msgid "m68k and cf features both selected"
 msgstr ""
 
-#: config/tc-m68k.c:7546
+#: config/tc-m68k.c:7493
 msgid "68040 and 68851 specified; mmu instructions may assemble incorrectly"
 msgstr ""
 
-#: config/tc-m68k.c:7580
+#: config/tc-m68k.c:7527
 #, c-format
 msgid ""
 "-march=<arch>\t\tset architecture\n"
 "-mcpu=<cpu>\t\tset cpu [default %s]\n"
 msgstr ""
 
-#: config/tc-m68k.c:7585
+#: config/tc-m68k.c:7532
 #, c-format
 msgid "-m[no-]%-16s enable/disable%s architecture extension\n"
 msgstr ""
 
-#: config/tc-m68k.c:7591
+#: config/tc-m68k.c:7538
 #, c-format
 msgid ""
 "-l\t\t\tuse 1 word for refs to undefined symbols [default 2]\n"
@@ -8067,32 +8041,32 @@ msgid ""
 "--disp-size-default-32\tdisplacement with unknown size is 32 bits (default)\n"
 msgstr ""
 
-#: config/tc-m68k.c:7605
+#: config/tc-m68k.c:7552
 #, c-format
 msgid "Architecture variants are: "
 msgstr ""
 
-#: config/tc-m68k.c:7614
+#: config/tc-m68k.c:7561
 #, c-format
 msgid "Processor variants are: "
 msgstr ""
 
-#: config/tc-m68k.c:7621 config/tc-xtensa.c:6045
+#: config/tc-m68k.c:7568 config/tc-xtensa.c:6009
 #, c-format
 msgid "\n"
 msgstr ""
 
-#: config/tc-m68k.c:7652
+#: config/tc-m68k.c:7599
 #, c-format
 msgid "Error %s in %s\n"
 msgstr ""
 
-#: config/tc-m68k.c:7656
+#: config/tc-m68k.c:7603
 #, c-format
 msgid "Opcode(%d.%s): "
 msgstr ""
 
-#: config/tc-m68k.c:7816
+#: config/tc-m68k.c:7763
 msgid "Not a defined coldfire architecture"
 msgstr ""
 
@@ -8115,209 +8089,209 @@ msgstr ""
 msgid "Illegal Reloc type in md_estimate_size_before_relax for line : %d"
 msgstr ""
 
-#: config/tc-maxq.c:492
+#: config/tc-maxq.c:454
 #, c-format
 msgid "Cant make long jump/call into short jump/call : %d"
 msgstr ""
 
-#: config/tc-maxq.c:971
+#: config/tc-maxq.c:933
 #, c-format
 msgid "Invalid register value %s"
 msgstr ""
 
-#: config/tc-maxq.c:1089
+#: config/tc-maxq.c:1051
 #, c-format
 msgid "Invalid bit number : '%c'"
 msgstr ""
 
-#: config/tc-maxq.c:1101
+#: config/tc-maxq.c:1063
 #, c-format
 msgid "Illegal character after operand '%s'"
 msgstr ""
 
-#: config/tc-maxq.c:1177 config/tc-maxq.c:1354
+#: config/tc-maxq.c:1139 config/tc-maxq.c:1316
 #, c-format
 msgid "Invalid Character in immediate Value : %c"
 msgstr ""
 
-#: config/tc-maxq.c:1197 config/tc-maxq.c:1374
+#: config/tc-maxq.c:1159 config/tc-maxq.c:1336
 #, c-format
 msgid "Invalid Character in immediate value : %c"
 msgstr ""
 
-#: config/tc-maxq.c:1213
+#: config/tc-maxq.c:1175
 msgid "Immediate value greater than 16 bits"
 msgstr ""
 
-#: config/tc-maxq.c:1227
+#: config/tc-maxq.c:1189
 msgid ""
 "Attempt to move a value in the stack pointer greater than the size of the "
 "stack"
 msgstr ""
 
-#: config/tc-maxq.c:1236
+#: config/tc-maxq.c:1198
 msgid "Attempt to move 16 bit value into an 8 bit register.Truncating..\n"
 msgstr ""
 
-#: config/tc-maxq.c:1298
+#: config/tc-maxq.c:1260
 msgid "Invalid immediate move operation"
 msgstr ""
 
-#: config/tc-maxq.c:1571
+#: config/tc-maxq.c:1533
 #, c-format
 msgid "Size of Operand '%s' greater than %d"
 msgstr ""
 
-#: config/tc-maxq.c:1726
+#: config/tc-maxq.c:1688
 #, c-format
 msgid "illegal immediate operand '%s'"
 msgstr ""
 
-#: config/tc-maxq.c:1748
+#: config/tc-maxq.c:1710
 #, c-format
 msgid "Invalid operand for memory access '%s'"
 msgstr ""
 
-#: config/tc-maxq.c:1810
+#: config/tc-maxq.c:1772
 msgid "illegal displacement operand "
 msgstr ""
 
-#: config/tc-maxq.c:1875
+#: config/tc-maxq.c:1837
 #, c-format
 msgid "invalid character %c before operand %d"
 msgstr ""
 
-#: config/tc-maxq.c:1897
+#: config/tc-maxq.c:1859
 #, c-format
 msgid "invalid character %c in operand %d"
 msgstr ""
 
 #. We found no match.
-#: config/tc-maxq.c:2042
+#: config/tc-maxq.c:2004
 #, c-format
 msgid "operand %d is invalid for `%s'"
 msgstr ""
 
-#: config/tc-maxq.c:2075
+#: config/tc-maxq.c:2037
 msgid "The Accumulator cannot be used as a source in ALU instructions\n"
 msgstr ""
 
-#: config/tc-maxq.c:2093
+#: config/tc-maxq.c:2055
 #, c-format
 msgid "'%s' operand cant be used as destination in %s"
 msgstr ""
 
-#: config/tc-maxq.c:2109 config/tc-maxq.c:2140 config/tc-maxq.c:2154
+#: config/tc-maxq.c:2071 config/tc-maxq.c:2102 config/tc-maxq.c:2116
 #, c-format
 msgid "Invalid Instruction '%s' operand cant be used with %s"
 msgstr ""
 
-#: config/tc-maxq.c:2125 config/tc-maxq.c:2176
+#: config/tc-maxq.c:2087 config/tc-maxq.c:2138
 #, c-format
 msgid "'%s' operand cant be used as source in %s"
 msgstr ""
 
-#: config/tc-maxq.c:2185
+#: config/tc-maxq.c:2147
 #, c-format
 msgid "'%s' instruction cant have first operand as Immediate vale"
 msgstr ""
 
-#: config/tc-maxq.c:2198
+#: config/tc-maxq.c:2160
 #, c-format
 msgid "SP cannot be used with %s\n"
 msgstr ""
 
-#: config/tc-maxq.c:2205
+#: config/tc-maxq.c:2167
 msgid "@SP-- cannot be used with PUSH\n"
 msgstr ""
 
-#: config/tc-maxq.c:2221 config/tc-maxq.c:2229
+#: config/tc-maxq.c:2183 config/tc-maxq.c:2191
 msgid ""
 "Operands either contradictory or use the data bus in read/write state "
 "together"
 msgstr ""
 
-#: config/tc-maxq.c:2236
+#: config/tc-maxq.c:2198
 msgid "MOVE Cant Use NUL as SRC"
 msgstr ""
 
-#: config/tc-maxq.c:2258
+#: config/tc-maxq.c:2220
 msgid "Contradictory movement between DP register and memory access using DP"
 msgstr ""
 
-#: config/tc-maxq.c:2266
+#: config/tc-maxq.c:2228
 msgid "SP and @SP-- cannot be used together in a move instruction"
 msgstr ""
 
-#: config/tc-maxq.c:2285
+#: config/tc-maxq.c:2247
 msgid "Only Module 8 system registers allowed in this operation"
 msgstr ""
 
-#: config/tc-maxq.c:2311 config/tc-maxq.c:2320 config/tc-maxq.c:2346
+#: config/tc-maxq.c:2273 config/tc-maxq.c:2282 config/tc-maxq.c:2308
 msgid "Read only Register used as destination"
 msgstr ""
 
-#: config/tc-maxq.c:2328
+#: config/tc-maxq.c:2290
 #, c-format
 msgid "Bit No '%d'exceeds register size in this operation"
 msgstr ""
 
-#: config/tc-maxq.c:2353 config/tc-maxq.c:2374
+#: config/tc-maxq.c:2315 config/tc-maxq.c:2336
 #, c-format
 msgid "Bit No '%d' exceeds register size in this operation"
 msgstr ""
 
-#: config/tc-maxq.c:2390
+#: config/tc-maxq.c:2352
 msgid "Memory References cannot be used with branching operations\n"
 msgstr ""
 
-#: config/tc-maxq.c:2399
+#: config/tc-maxq.c:2361
 msgid "DJNZ uses only LC[n] register \n"
 msgstr ""
 
-#: config/tc-maxq.c:2425
+#: config/tc-maxq.c:2387
 #, c-format
 msgid "'%s' operand cant be used as destination  in %s"
 msgstr ""
 
-#: config/tc-maxq.c:2435
+#: config/tc-maxq.c:2397
 #, c-format
 msgid "Read only register used for writing purposes '%s'"
 msgstr ""
 
-#: config/tc-maxq.c:2447
+#: config/tc-maxq.c:2409
 msgid "Invalid destination for this kind of source."
 msgstr ""
 
-#: config/tc-maxq.c:2454
+#: config/tc-maxq.c:2416
 msgid ""
 "Invalid register as destination for this kind of source.Only data pointers "
 "can be used."
 msgstr ""
 
-#: config/tc-maxq.c:2542 config/tc-maxq.c:2630
+#: config/tc-maxq.c:2504 config/tc-maxq.c:2592
 msgid "Invalid Instruction"
 msgstr ""
 
-#: config/tc-maxq.c:2828
+#: config/tc-maxq.c:2790
 msgid "Cannot allocate memory"
 msgstr ""
 
-#: config/tc-maxq.c:2900
+#: config/tc-maxq.c:2862
 msgid "Internal Error: Illegal Architecure specified"
 msgstr ""
 
-#: config/tc-maxq.c:2938
+#: config/tc-maxq.c:2900
 msgid "Invalid architecture type"
 msgstr ""
 
-#: config/tc-maxq.c:2943 config/tc-maxq.c:2954 config/tc-maxq.c:2967
-#: config/tc-maxq.c:2979 config/tc-maxq.c:2992
+#: config/tc-maxq.c:2905 config/tc-maxq.c:2916 config/tc-maxq.c:2929
+#: config/tc-maxq.c:2941 config/tc-maxq.c:2954
 #, c-format
 msgid "Internal Error : Can't Hash %s : %s"
 msgstr ""
 
-#: config/tc-maxq.c:3109
+#: config/tc-maxq.c:3071
 #, c-format
 msgid "Ineffective insntruction %s \n"
 msgstr ""
@@ -8470,16 +8444,12 @@ msgstr ""
 msgid "ignoring operands: %s "
 msgstr ""
 
-#: config/tc-mcore.c:1662
-msgid "Bad call to MD_NTOF()"
-msgstr ""
-
-#: config/tc-mcore.c:1733
+#: config/tc-mcore.c:1667
 #, c-format
 msgid "unrecognised cpu type '%s'"
 msgstr ""
 
-#: config/tc-mcore.c:1751
+#: config/tc-mcore.c:1685
 #, c-format
 msgid ""
 "MCORE specific options:\n"
@@ -8490,49 +8460,49 @@ msgid ""
 "  -EL                     assemble for a little endian system\n"
 msgstr ""
 
-#: config/tc-mcore.c:1769
+#: config/tc-mcore.c:1703
 msgid "failed sanity check: short_jump"
 msgstr ""
 
-#: config/tc-mcore.c:1779
+#: config/tc-mcore.c:1713
 msgid "failed sanity check: long_jump"
 msgstr ""
 
-#: config/tc-mcore.c:1805
+#: config/tc-mcore.c:1739
 #, c-format
 msgid "odd displacement at %x"
 msgstr ""
 
-#: config/tc-mcore.c:1987
+#: config/tc-mcore.c:1921
 msgid "unknown"
 msgstr ""
 
-#: config/tc-mcore.c:2014
+#: config/tc-mcore.c:1948
 #, c-format
 msgid "odd distance branch (0x%lx bytes)"
 msgstr ""
 
-#: config/tc-mcore.c:2018
+#: config/tc-mcore.c:1952
 #, c-format
 msgid "pcrel for branch to %s too far (0x%lx)"
 msgstr ""
 
-#: config/tc-mcore.c:2038
+#: config/tc-mcore.c:1972
 #, c-format
 msgid "pcrel for lrw/jmpi/jsri to %s too far (0x%lx)"
 msgstr ""
 
-#: config/tc-mcore.c:2050
+#: config/tc-mcore.c:1984
 #, c-format
 msgid "pcrel for loopt too far (0x%lx)"
 msgstr ""
 
-#: config/tc-mcore.c:2246
+#: config/tc-mcore.c:2180
 #, c-format
 msgid "Can not do %d byte %srelocation"
 msgstr ""
 
-#: config/tc-mcore.c:2248
+#: config/tc-mcore.c:2182
 msgid "pc-relative"
 msgstr ""
 
@@ -8575,11 +8545,11 @@ msgstr ""
 msgid "Perhaps you are missing %%tpoff()?"
 msgstr ""
 
-#: config/tc-mep.c:1773
+#: config/tc-mep.c:1725
 msgid "Bad .section directive: want a,v,w,x,M,S in string"
 msgstr ""
 
-#: config/tc-mep.c:1831
+#: config/tc-mep.c:1783
 msgid ".vliw unavailable when VLIW is disabled."
 msgstr ""
 
@@ -8608,7 +8578,7 @@ msgstr ""
 msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n"
 msgstr ""
 
-#: config/tc-mips.c:2689 config/tc-mips.c:14116
+#: config/tc-mips.c:2689 config/tc-mips.c:14068
 msgid "extended instruction in delay slot"
 msgstr ""
 
@@ -8667,7 +8637,7 @@ msgstr ""
 #: config/tc-mips.c:4301 config/tc-mips.c:4329 config/tc-mips.c:4367
 #: config/tc-mips.c:4412 config/tc-mips.c:6466 config/tc-mips.c:6505
 #: config/tc-mips.c:6544 config/tc-mips.c:6964 config/tc-mips.c:7016
-#: config/tc-score.c:4239
+#: config/tc-score.c:4234
 msgid "PIC code offset overflow (max 16 signed bits)"
 msgstr ""
 
@@ -8954,7 +8924,7 @@ msgstr ""
 msgid "illegal operands"
 msgstr ""
 
-#: config/tc-mips.c:9790 config/tc-score.c:2418
+#: config/tc-mips.c:9790 config/tc-score.c:2413
 msgid "unrecognized opcode"
 msgstr ""
 
@@ -9002,237 +8972,237 @@ msgstr ""
 msgid "operand value out of range for instruction"
 msgstr ""
 
-#: config/tc-mips.c:11027
+#: config/tc-mips.c:10979
 #, c-format
 msgid "A different %s was already specified, is now %s"
 msgstr ""
 
-#: config/tc-mips.c:11262
+#: config/tc-mips.c:11214
 msgid "-call_shared is supported only for ELF format"
 msgstr ""
 
-#: config/tc-mips.c:11272
+#: config/tc-mips.c:11224
 msgid "-non_shared is supported only for ELF format"
 msgstr ""
 
-#: config/tc-mips.c:11298
+#: config/tc-mips.c:11250
 msgid "-32 is supported for ELF format only"
 msgstr ""
 
-#: config/tc-mips.c:11307
+#: config/tc-mips.c:11259
 msgid "-n32 is supported for ELF format only"
 msgstr ""
 
-#: config/tc-mips.c:11316
+#: config/tc-mips.c:11268
 msgid "-64 is supported for ELF format only"
 msgstr ""
 
-#: config/tc-mips.c:11321 config/tc-mips.c:11358
+#: config/tc-mips.c:11273 config/tc-mips.c:11310
 msgid "No compiled in support for 64 bit object file format"
 msgstr ""
 
-#: config/tc-mips.c:11345
+#: config/tc-mips.c:11297
 msgid "-mabi is supported for ELF format only"
 msgstr ""
 
-#: config/tc-mips.c:11365
+#: config/tc-mips.c:11317
 #, c-format
 msgid "invalid abi -mabi=%s"
 msgstr ""
 
-#: config/tc-mips.c:11443
+#: config/tc-mips.c:11395
 msgid "-G not supported in this configuration."
 msgstr ""
 
-#: config/tc-mips.c:11469
+#: config/tc-mips.c:11421
 #, c-format
 msgid "-%s conflicts with the other architecture options, which imply -%s"
 msgstr ""
 
-#: config/tc-mips.c:11500
+#: config/tc-mips.c:11452
 msgid "-mgp64 used with a 32-bit processor"
 msgstr ""
 
-#: config/tc-mips.c:11502
+#: config/tc-mips.c:11454
 msgid "-mgp32 used with a 64-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:11504
+#: config/tc-mips.c:11456
 msgid "-mgp64 used with a 32-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:11542
+#: config/tc-mips.c:11494
 msgid "-mfp64 used with a 32-bit fpu"
 msgstr ""
 
-#: config/tc-mips.c:11545
+#: config/tc-mips.c:11497
 msgid "-mfp64 used with a 32-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:11549
+#: config/tc-mips.c:11501
 msgid "-mfp32 used with a 64-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:11563
+#: config/tc-mips.c:11515
 msgid "trap exception not supported at ISA 1"
 msgstr ""
 
-#: config/tc-mips.c:11573
+#: config/tc-mips.c:11525
 msgid "-mfp32 used with -mips3d"
 msgstr ""
 
-#: config/tc-mips.c:11579
+#: config/tc-mips.c:11531
 msgid "-mfp32 used with -mdmx"
 msgstr ""
 
-#: config/tc-mips.c:11652
+#: config/tc-mips.c:11604
 msgid "PC relative MIPS16 instruction references a different section"
 msgstr ""
 
-#: config/tc-mips.c:11946 config/tc-sparc.c:3283 config/tc-sparc.c:3290
-#: config/tc-sparc.c:3297 config/tc-sparc.c:3304 config/tc-sparc.c:3311
-#: config/tc-sparc.c:3320 config/tc-sparc.c:3331 config/tc-sparc.c:3353
-#: config/tc-sparc.c:3377 write.c:1096
+#: config/tc-mips.c:11898 config/tc-sparc.c:3210 config/tc-sparc.c:3217
+#: config/tc-sparc.c:3224 config/tc-sparc.c:3231 config/tc-sparc.c:3238
+#: config/tc-sparc.c:3247 config/tc-sparc.c:3258 config/tc-sparc.c:3280
+#: config/tc-sparc.c:3304 write.c:1096
 msgid "relocation overflow"
 msgstr ""
 
-#: config/tc-mips.c:11956
+#: config/tc-mips.c:11908
 #, c-format
 msgid "Branch to misaligned address (%lx)"
 msgstr ""
 
-#: config/tc-mips.c:12003
+#: config/tc-mips.c:11955
 msgid "Branch out of range"
 msgstr ""
 
-#: config/tc-mips.c:12078
+#: config/tc-mips.c:12030
 #, c-format
 msgid "Alignment too large: %d. assumed."
 msgstr ""
 
-#: config/tc-mips.c:12081
+#: config/tc-mips.c:12033
 msgid "Alignment negative: 0 assumed."
 msgstr ""
 
-#: config/tc-mips.c:12325
+#: config/tc-mips.c:12277
 #, c-format
 msgid "%s: no such section"
 msgstr ""
 
-#: config/tc-mips.c:12374
+#: config/tc-mips.c:12326
 #, c-format
 msgid ".option pic%d not supported"
 msgstr ""
 
-#: config/tc-mips.c:12379 config/tc-mips.c:12678
+#: config/tc-mips.c:12331 config/tc-mips.c:12630
 msgid "-G may not be used with SVR4 PIC code"
 msgstr ""
 
-#: config/tc-mips.c:12385
+#: config/tc-mips.c:12337
 #, c-format
 msgid "Unrecognized option \"%s\""
 msgstr ""
 
-#: config/tc-mips.c:12428
+#: config/tc-mips.c:12380
 #, c-format
 msgid "Unrecognized register name `%s'"
 msgstr ""
 
-#: config/tc-mips.c:12445
+#: config/tc-mips.c:12397
 msgid "`noreorder' must be set before `nomacro'"
 msgstr ""
 
-#: config/tc-mips.c:12562
+#: config/tc-mips.c:12514
 #, c-format
 msgid "unknown architecture %s"
 msgstr ""
 
-#: config/tc-mips.c:12575 config/tc-mips.c:12605
+#: config/tc-mips.c:12527 config/tc-mips.c:12557
 #, c-format
 msgid "unknown ISA level %s"
 msgstr ""
 
-#: config/tc-mips.c:12583
+#: config/tc-mips.c:12535
 #, c-format
 msgid "unknown ISA or architecture %s"
 msgstr ""
 
-#: config/tc-mips.c:12633
+#: config/tc-mips.c:12585
 msgid ".set pop with no .set push"
 msgstr ""
 
-#: config/tc-mips.c:12662
+#: config/tc-mips.c:12614
 #, c-format
 msgid "Tried to set unrecognized symbol: %s\n"
 msgstr ""
 
-#: config/tc-mips.c:12720
+#: config/tc-mips.c:12672
 msgid ".cpload not in noreorder section"
 msgstr ""
 
-#: config/tc-mips.c:12788 config/tc-mips.c:12807
+#: config/tc-mips.c:12740 config/tc-mips.c:12759
 msgid "missing argument separator ',' for .cpsetup"
 msgstr ""
 
-#: config/tc-mips.c:12965
+#: config/tc-mips.c:12917
 #, c-format
 msgid "Unsupported use of %s"
 msgstr ""
 
-#: config/tc-mips.c:13047 config/tc-score.c:6323
+#: config/tc-mips.c:12999 config/tc-score.c:6253
 msgid "Unsupported use of .gpword"
 msgstr ""
 
-#: config/tc-mips.c:13087
+#: config/tc-mips.c:13039
 msgid "Unsupported use of .gpdword"
 msgstr ""
 
-#: config/tc-mips.c:13432
+#: config/tc-mips.c:13384
 msgid "unsupported PC relative reference to different section"
 msgstr ""
 
-#: config/tc-mips.c:13545 config/tc-xtensa.c:1538 config/tc-xtensa.c:1773
+#: config/tc-mips.c:13497 config/tc-xtensa.c:1538 config/tc-xtensa.c:1773
 msgid "unsupported relocation"
 msgstr ""
 
-#: config/tc-mips.c:13795
+#: config/tc-mips.c:13747
 #, c-format
 msgid "Can not represent %s relocation in this object file format"
 msgstr ""
 
-#: config/tc-mips.c:13880
+#: config/tc-mips.c:13832
 msgid "relaxed out-of-range branch into a jump"
 msgstr ""
 
-#: config/tc-mips.c:14410
+#: config/tc-mips.c:14362
 msgid "missing .end at end of assembly"
 msgstr ""
 
-#: config/tc-mips.c:14425 config/tc-score.c:5929
+#: config/tc-mips.c:14377 config/tc-score.c:5859
 msgid "expected simple number"
 msgstr ""
 
-#: config/tc-mips.c:14453 config/tc-score.c:5956
+#: config/tc-mips.c:14405 config/tc-score.c:5886
 msgid "invalid number"
 msgstr ""
 
-#: config/tc-mips.c:14624 config/tc-score.c:5996
+#: config/tc-mips.c:14576 config/tc-score.c:5926
 msgid "missing .end"
 msgstr ""
 
-#: config/tc-mips.c:14676
+#: config/tc-mips.c:14628
 msgid "Bad .frame directive"
 msgstr ""
 
-#: config/tc-mips.c:14708
+#: config/tc-mips.c:14660
 msgid ".mask/.fmask outside of .ent"
 msgstr ""
 
-#: config/tc-mips.c:14715
+#: config/tc-mips.c:14667
 msgid "Bad .mask/.fmask directive"
 msgstr ""
 
-#: config/tc-mips.c:15034
+#: config/tc-mips.c:14986
 #, c-format
 msgid ""
 "MIPS options:\n"
@@ -9243,7 +9213,7 @@ msgid ""
 "\t\t\timplicitly with the gp register [default 8]\n"
 msgstr ""
 
-#: config/tc-mips.c:15041
+#: config/tc-mips.c:14993
 #, c-format
 msgid ""
 "-mips1\t\t\tgenerate MIPS ISA I instructions\n"
@@ -9258,7 +9228,7 @@ msgid ""
 "-march=CPU/-mtune=CPU\tgenerate code/schedule for CPU, where CPU is one of:\n"
 msgstr ""
 
-#: config/tc-mips.c:15060
+#: config/tc-mips.c:15012
 #, c-format
 msgid ""
 "-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n"
@@ -9266,42 +9236,42 @@ msgid ""
 "\t\t\tFor -mCPU and -no-mCPU, CPU must be one of:\n"
 msgstr ""
 
-#: config/tc-mips.c:15073
+#: config/tc-mips.c:15025
 #, c-format
 msgid ""
 "-mips16\t\t\tgenerate mips16 instructions\n"
 "-no-mips16\t\tdo not generate mips16 instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:15076
+#: config/tc-mips.c:15028
 #, c-format
 msgid ""
 "-msmartmips\t\tgenerate smartmips instructions\n"
 "-mno-smartmips\t\tdo not generate smartmips instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:15079
+#: config/tc-mips.c:15031
 #, c-format
 msgid ""
 "-mdsp\t\t\tgenerate DSP instructions\n"
 "-mno-dsp\t\tdo not generate DSP instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:15082
+#: config/tc-mips.c:15034
 #, c-format
 msgid ""
 "-mdspr2\t\t\tgenerate DSP R2 instructions\n"
 "-mno-dspr2\t\tdo not generate DSP R2 instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:15085
+#: config/tc-mips.c:15037
 #, c-format
 msgid ""
 "-mmt\t\t\tgenerate MT instructions\n"
 "-mno-mt\t\t\tdo not generate MT instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:15088
+#: config/tc-mips.c:15040
 #, c-format
 msgid ""
 "-mfix-vr4120\t\twork around certain VR4120 errata\n"
@@ -9316,7 +9286,7 @@ msgid ""
 "--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
 msgstr ""
 
-#: config/tc-mips.c:15100
+#: config/tc-mips.c:15052
 #, c-format
 msgid ""
 "-KPIC, -call_shared\tgenerate SVR4 position independent code\n"
@@ -9329,7 +9299,7 @@ msgid ""
 "-mabi=ABI\t\tcreate ABI conformant object file for:\n"
 msgstr ""
 
-#: config/tc-mips.c:15120
+#: config/tc-mips.c:15072
 #, c-format
 msgid ""
 "-32\t\t\tcreate o32 ABI object file (default)\n"
@@ -9410,8 +9380,8 @@ msgstr ""
 msgid "specified location wasn't TETRA-aligned"
 msgstr ""
 
-#: config/tc-mmix.c:964 config/tc-mmix.c:979 config/tc-mmix.c:4125
-#: config/tc-mmix.c:4141
+#: config/tc-mmix.c:964 config/tc-mmix.c:979 config/tc-mmix.c:4097
+#: config/tc-mmix.c:4113
 msgid "unaligned data at an absolute location is not supported"
 msgstr ""
 
@@ -9473,113 +9443,113 @@ msgstr ""
 msgid "missing local expression"
 msgstr ""
 
-#: config/tc-mmix.c:2388
+#: config/tc-mmix.c:2360
 msgid "operand out of range, instruction expanded"
 msgstr ""
 
 #. The BFD_RELOC_MMIX_LOCAL-specific message is supposed to be
 #. user-friendly, though a little bit non-substantial.
-#: config/tc-mmix.c:2639
+#: config/tc-mmix.c:2611
 msgid "directive LOCAL must be placed in code or data"
 msgstr ""
 
-#: config/tc-mmix.c:2640
+#: config/tc-mmix.c:2612
 msgid "internal confusion: relocation in a section without contents"
 msgstr ""
 
-#: config/tc-mmix.c:2754
+#: config/tc-mmix.c:2726
 msgid "internal: BFD_RELOC_MMIX_BASE_PLUS_OFFSET not resolved to section"
 msgstr ""
 
-#: config/tc-mmix.c:2802
+#: config/tc-mmix.c:2774
 msgid "no suitable GREG definition for operands"
 msgstr ""
 
-#: config/tc-mmix.c:2861
+#: config/tc-mmix.c:2833
 msgid "operands were not reducible at assembly-time"
 msgstr ""
 
-#: config/tc-mmix.c:2888
+#: config/tc-mmix.c:2860
 #, c-format
 msgid "cannot generate relocation type for symbol %s, code %s"
 msgstr ""
 
-#: config/tc-mmix.c:2908
+#: config/tc-mmix.c:2880
 #, c-format
 msgid "internal: unhandled label %s"
 msgstr ""
 
-#: config/tc-mmix.c:2938
+#: config/tc-mmix.c:2910
 msgid "[0-9]H labels may not appear alone on a line"
 msgstr ""
 
-#: config/tc-mmix.c:2947
+#: config/tc-mmix.c:2919
 msgid "[0-9]H labels do not mix with dot-pseudos"
 msgstr ""
 
-#: config/tc-mmix.c:3035
+#: config/tc-mmix.c:3007
 msgid "invalid characters in input"
 msgstr ""
 
-#: config/tc-mmix.c:3141
+#: config/tc-mmix.c:3113
 msgid "empty label field for IS"
 msgstr ""
 
-#: config/tc-mmix.c:3467
+#: config/tc-mmix.c:3439
 #, c-format
 msgid "internal: unexpected relax type %d:%d"
 msgstr ""
 
-#: config/tc-mmix.c:3489
+#: config/tc-mmix.c:3461
 msgid "BSPEC without ESPEC."
 msgstr ""
 
-#: config/tc-mmix.c:3689
+#: config/tc-mmix.c:3661
 msgid "GREG expression too complicated"
 msgstr ""
 
-#: config/tc-mmix.c:3704
+#: config/tc-mmix.c:3676
 msgid "internal: GREG expression not resolved to section"
 msgstr ""
 
-#: config/tc-mmix.c:3753
+#: config/tc-mmix.c:3725
 msgid "register section has contents\n"
 msgstr ""
 
-#: config/tc-mmix.c:3880
+#: config/tc-mmix.c:3852
 msgid "section change from within a BSPEC/ESPEC pair is not supported"
 msgstr ""
 
-#: config/tc-mmix.c:3901
+#: config/tc-mmix.c:3873
 msgid "directive LOC from within a BSPEC/ESPEC pair is not supported"
 msgstr ""
 
-#: config/tc-mmix.c:3912
+#: config/tc-mmix.c:3884
 msgid "invalid LOC expression"
 msgstr ""
 
-#: config/tc-mmix.c:3937 config/tc-mmix.c:3963
+#: config/tc-mmix.c:3909 config/tc-mmix.c:3935
 msgid "LOC expression stepping backwards is not supported"
 msgstr ""
 
 #. We will only get here in rare cases involving #NO_APP,
 #. where the unterminated string is not recognized by the
 #. preformatting pass.
-#: config/tc-mmix.c:4047 config/tc-mmix.c:4207 config/tc-z80.c:1691
+#: config/tc-mmix.c:4019 config/tc-mmix.c:4179 config/tc-z80.c:1691
 msgid "unterminated string"
 msgstr ""
 
-#: config/tc-mmix.c:4064
+#: config/tc-mmix.c:4036
 msgid "BYTE expression not a pure number"
 msgstr ""
 
 #. Note that mmixal does not allow negative numbers in
 #. BYTE sequences, so neither should we.
-#: config/tc-mmix.c:4073
+#: config/tc-mmix.c:4045
 msgid "BYTE expression not in the range 0..255"
 msgstr ""
 
-#: config/tc-mmix.c:4123 config/tc-mmix.c:4139
+#: config/tc-mmix.c:4095 config/tc-mmix.c:4111
 msgid "data item with alignment larger than location"
 msgstr ""
 
@@ -9596,8 +9566,8 @@ msgid ""
 "none yet\n"
 msgstr ""
 
-#: config/tc-mn10200.c:930 config/tc-mn10300.c:1391 config/tc-ppc.c:2211
-#: config/tc-s390.c:1558 config/tc-v850.c:1636
+#: config/tc-mn10200.c:898 config/tc-mn10300.c:1356 config/tc-ppc.c:2223
+#: config/tc-s390.c:1558 config/tc-v850.c:1604
 #, c-format
 msgid "Unrecognized opcode: `%s'"
 msgstr ""
@@ -9609,20 +9579,20 @@ msgid ""
 "none yet\n"
 msgstr ""
 
-#: config/tc-mn10300.c:1360 config/tc-sh.c:776 config/tc-z80.c:671 read.c:4203
+#: config/tc-mn10300.c:1325 config/tc-sh.c:776 config/tc-z80.c:671 read.c:4203
 #, c-format
 msgid "unsupported BFD relocation size %u"
 msgstr ""
 
-#: config/tc-mn10300.c:1408
+#: config/tc-mn10300.c:1373
 msgid "Invalid opcode/operands"
 msgstr ""
 
-#: config/tc-mn10300.c:1935
+#: config/tc-mn10300.c:1900
 msgid "Invalid register specification."
 msgstr ""
 
-#: config/tc-mn10300.c:2522
+#: config/tc-mn10300.c:2487
 #, c-format
 msgid "Bad relocation fixup type (%d)"
 msgstr ""
@@ -9693,145 +9663,145 @@ msgid ""
 "  -mP - enable polymorph instructions\n"
 msgstr ""
 
-#: config/tc-msp430.c:1006
+#: config/tc-msp430.c:970
 #, c-format
 msgid "value %d out of range. Use #lo() or #hi()"
 msgstr ""
 
-#: config/tc-msp430.c:1094
+#: config/tc-msp430.c:1058
 #, c-format
 msgid "unknown expression in operand %s. use #llo() #lhi() #hlo() #hhi() "
 msgstr ""
 
-#: config/tc-msp430.c:1145
+#: config/tc-msp430.c:1109
 #, c-format
 msgid "Registers cannot be used within immediate expression [%s]"
 msgstr ""
 
-#: config/tc-msp430.c:1147
+#: config/tc-msp430.c:1111
 #, c-format
 msgid "unknown operand %s"
 msgstr ""
 
-#: config/tc-msp430.c:1169 config/tc-msp430.c:1304
+#: config/tc-msp430.c:1133 config/tc-msp430.c:1268
 #, c-format
 msgid "value out of range: %d"
 msgstr ""
 
-#: config/tc-msp430.c:1180
+#: config/tc-msp430.c:1144
 #, c-format
 msgid "Registers cannot be used within absolute expression [%s]"
 msgstr ""
 
-#: config/tc-msp430.c:1182 config/tc-msp430.c:1325
+#: config/tc-msp430.c:1146 config/tc-msp430.c:1289
 #, c-format
 msgid "unknown expression in operand %s"
 msgstr ""
 
-#: config/tc-msp430.c:1196 config/tc-msp430.c:1203
+#: config/tc-msp430.c:1160 config/tc-msp430.c:1167
 #, c-format
 msgid "unknown addressing mode %s"
 msgstr ""
 
-#: config/tc-msp430.c:1211
+#: config/tc-msp430.c:1175
 #, c-format
 msgid "Bad register name r%s"
 msgstr ""
 
-#: config/tc-msp430.c:1223
+#: config/tc-msp430.c:1187
 #, c-format
 msgid "MSP430 does not have %d registers"
 msgstr ""
 
-#: config/tc-msp430.c:1243
+#: config/tc-msp430.c:1207
 msgid "')' required"
 msgstr ""
 
-#: config/tc-msp430.c:1256
+#: config/tc-msp430.c:1220
 #, c-format
 msgid "unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?"
 msgstr ""
 
-#: config/tc-msp430.c:1265
+#: config/tc-msp430.c:1229
 #, c-format
 msgid "unknown operator (r%s substituted as a register name"
 msgstr ""
 
-#: config/tc-msp430.c:1277 config/tc-msp430.c:1288
+#: config/tc-msp430.c:1241 config/tc-msp430.c:1252
 #, c-format
 msgid "unknown operator %s"
 msgstr ""
 
-#: config/tc-msp430.c:1282
+#: config/tc-msp430.c:1246
 msgid "r2 should not be used in indexed addressing mode"
 msgstr ""
 
-#: config/tc-msp430.c:1323
+#: config/tc-msp430.c:1287
 #, c-format
 msgid "Registers cannot be used as a prefix of indexed expression [%s]"
 msgstr ""
 
 #. Unreachable.
-#: config/tc-msp430.c:1372
+#: config/tc-msp430.c:1336
 #, c-format
 msgid "unknown addressing mode for operand %s"
 msgstr ""
 
-#: config/tc-msp430.c:1397
+#: config/tc-msp430.c:1361
 #, c-format
 msgid "Internal bug. Try to use 0(r%d) instead of @r%d"
 msgstr ""
 
-#: config/tc-msp430.c:1407
+#: config/tc-msp430.c:1371
 msgid "this addressing mode is not applicable for destination operand"
 msgstr ""
 
-#: config/tc-msp430.c:1451
+#: config/tc-msp430.c:1415
 #, c-format
 msgid "instruction %s requires %d operand(s)"
 msgstr ""
 
-#: config/tc-msp430.c:1704
+#: config/tc-msp430.c:1668
 #, c-format
 msgid "Even number required. Rounded to %d"
 msgstr ""
 
-#: config/tc-msp430.c:1715
+#: config/tc-msp430.c:1679
 #, c-format
 msgid "Wrong displacement  %d"
 msgstr ""
 
-#: config/tc-msp430.c:1732
+#: config/tc-msp430.c:1696
 msgid "instruction requires label sans '$'"
 msgstr ""
 
-#: config/tc-msp430.c:1737
+#: config/tc-msp430.c:1701
 msgid "instruction requires label or value in range -511:512"
 msgstr ""
 
-#: config/tc-msp430.c:1744 config/tc-msp430.c:1788 config/tc-msp430.c:1827
+#: config/tc-msp430.c:1708 config/tc-msp430.c:1752 config/tc-msp430.c:1791
 msgid "instruction requires label"
 msgstr ""
 
-#: config/tc-msp430.c:1752 config/tc-msp430.c:1794
+#: config/tc-msp430.c:1716 config/tc-msp430.c:1758
 msgid "polymorphs are not enabled. Use -mP option to enable."
 msgstr ""
 
-#: config/tc-msp430.c:1831
+#: config/tc-msp430.c:1795
 msgid "Illegal instruction or not implemented opcode."
 msgstr ""
 
-#: config/tc-msp430.c:2181
+#: config/tc-msp430.c:2145
 #, c-format
 msgid "internal inconsistency problem in %s: insn %04lx"
 msgstr ""
 
-#: config/tc-msp430.c:2211 config/tc-msp430.c:2234
+#: config/tc-msp430.c:2175 config/tc-msp430.c:2198
 #, c-format
 msgid "internal inconsistency problem in %s: ext. insn %04lx"
 msgstr ""
 
-#: config/tc-msp430.c:2246
+#: config/tc-msp430.c:2210
 #, c-format
 msgid "internal inconsistency problem in %s:  %lx"
 msgstr ""
@@ -10053,17 +10023,17 @@ msgstr ""
 msgid "Can't hash %s: %s"
 msgstr ""
 
-#: config/tc-ns32k.c:2179
+#: config/tc-ns32k.c:2145
 #, c-format
 msgid "invalid architecture option -m%s, ignored"
 msgstr ""
 
-#: config/tc-ns32k.c:2192
+#: config/tc-ns32k.c:2158
 #, c-format
 msgid "invalid default displacement size \"%s\". Defaulting to %d."
 msgstr ""
 
-#: config/tc-ns32k.c:2208
+#: config/tc-ns32k.c:2174
 #, c-format
 msgid ""
 "NS32K options:\n"
@@ -10071,7 +10041,7 @@ msgid ""
 "--disp-size-default=<1|2|4>\n"
 msgstr ""
 
-#: config/tc-ns32k.c:2283
+#: config/tc-ns32k.c:2249
 #, c-format
 msgid "Cannot find relocation type for symbol %s, code %d"
 msgstr ""
@@ -10100,16 +10070,16 @@ msgstr ""
 msgid "call/jmp target out of range (1)"
 msgstr ""
 
-#: config/tc-or32.c:672
+#: config/tc-or32.c:613
 msgid "call/jmp target out of range (2)"
 msgstr ""
 
-#: config/tc-or32.c:691
+#: config/tc-or32.c:632
 #, c-format
 msgid "bad relocation type: 0x%02x"
 msgstr ""
 
-#: config/tc-or32.c:883
+#: config/tc-or32.c:824
 msgid "invalid register in & expression"
 msgstr ""
 
@@ -10135,7 +10105,7 @@ msgstr ""
 msgid "unknown opcode %s"
 msgstr ""
 
-#: config/tc-pj.c:403
+#: config/tc-pj.c:355
 #, c-format
 msgid ""
 "PJ options:\n"
@@ -10143,8 +10113,8 @@ msgid ""
 "-big\t\t\tgenerate big endian code\n"
 msgstr ""
 
-#: config/tc-pj.c:430 config/tc-sh.c:4086 config/tc-sh.c:4093
-#: config/tc-sh.c:4100 config/tc-sh.c:4107
+#: config/tc-pj.c:382 config/tc-sh.c:4036 config/tc-sh.c:4043
+#: config/tc-sh.c:4050 config/tc-sh.c:4057
 msgid "pcrel too far"
 msgstr ""
 
@@ -10236,257 +10206,262 @@ msgstr ""
 msgid "Neither Power nor PowerPC opcodes were selected."
 msgstr ""
 
-#: config/tc-ppc.c:1278
+#: config/tc-ppc.c:1279
 #, c-format
 msgid "powerpc_operands[%d].bitm invalid"
 msgstr ""
 
-#: config/tc-ppc.c:1285
+#: config/tc-ppc.c:1286
 #, c-format
 msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]"
 msgstr ""
 
-#: config/tc-ppc.c:1303
+#: config/tc-ppc.c:1306
+#, c-format
+msgid "major opcode is not sorted for %s"
+msgstr ""
+
+#: config/tc-ppc.c:1315
 #, c-format
 msgid "mask trims opcode bits for %s"
 msgstr ""
 
-#: config/tc-ppc.c:1312
+#: config/tc-ppc.c:1324
 #, c-format
 msgid "operand index error for %s"
 msgstr ""
 
-#: config/tc-ppc.c:1324
+#: config/tc-ppc.c:1336
 #, c-format
 msgid "operand %d overlap in %s"
 msgstr ""
 
-#: config/tc-ppc.c:1366
+#: config/tc-ppc.c:1378
 #, c-format
 msgid "duplicate instruction %s"
 msgstr ""
 
-#: config/tc-ppc.c:1390
+#: config/tc-ppc.c:1402
 #, c-format
 msgid "duplicate macro %s"
 msgstr ""
 
-#: config/tc-ppc.c:1724
+#: config/tc-ppc.c:1736
 msgid "identifier+constant@got means identifier@got+constant"
 msgstr ""
 
-#: config/tc-ppc.c:1790
+#: config/tc-ppc.c:1802
 #, c-format
 msgid "%s relocations do not fit in %d bytes\n"
 msgstr ""
 
-#: config/tc-ppc.c:1895
+#: config/tc-ppc.c:1907
 #, c-format
 msgid "Length of .lcomm \"%s\" is already %ld. Not changed to %ld."
 msgstr ""
 
-#: config/tc-ppc.c:1975
+#: config/tc-ppc.c:1987
 msgid "Relocation cannot be done when using -mrelocatable"
 msgstr ""
 
-#: config/tc-ppc.c:2024
+#: config/tc-ppc.c:2036
 msgid "TOC section size exceeds 64k"
 msgstr ""
 
-#: config/tc-ppc.c:2105
+#: config/tc-ppc.c:2117
 #, c-format
 msgid "syntax error: invalid toc specifier `%s'"
 msgstr ""
 
-#: config/tc-ppc.c:2119
+#: config/tc-ppc.c:2131
 #, c-format
 msgid "syntax error: expected `]', found  `%c'"
 msgstr ""
 
-#: config/tc-ppc.c:2396
+#: config/tc-ppc.c:2408
 msgid "[tocv] symbol is not a toc symbol"
 msgstr ""
 
-#: config/tc-ppc.c:2407
+#: config/tc-ppc.c:2419
 msgid "Unimplemented toc32 expression modifier"
 msgstr ""
 
-#: config/tc-ppc.c:2412
+#: config/tc-ppc.c:2424
 msgid "Unimplemented toc64 expression modifier"
 msgstr ""
 
-#: config/tc-ppc.c:2416
+#: config/tc-ppc.c:2428
 #, c-format
 msgid "Unexpected return value [%d] from parse_toc_entry!\n"
 msgstr ""
 
-#: config/tc-ppc.c:2634
+#: config/tc-ppc.c:2646
 msgid "unsupported relocation for DS offset field"
 msgstr ""
 
-#: config/tc-ppc.c:2686
+#: config/tc-ppc.c:2698
 #, c-format
 msgid "syntax error; found `%c' but expected `%c'"
 msgstr ""
 
-#: config/tc-ppc.c:2729 config/tc-ppc.h:92
+#: config/tc-ppc.c:2741 config/tc-ppc.h:92
 msgid "instruction address is not a multiple of 4"
 msgstr ""
 
-#: config/tc-ppc.c:2838
+#: config/tc-ppc.c:2850
 msgid "wrong number of operands"
 msgstr ""
 
-#: config/tc-ppc.c:2892
+#: config/tc-ppc.c:2904
 msgid "Bad .section directive: want a,e,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-ppc.c:2998
+#: config/tc-ppc.c:3010
 msgid "missing size"
 msgstr ""
 
-#: config/tc-ppc.c:3007
+#: config/tc-ppc.c:3019
 msgid "negative size"
 msgstr ""
 
-#: config/tc-ppc.c:3044
+#: config/tc-ppc.c:3056
 msgid "missing real symbol name"
 msgstr ""
 
-#: config/tc-ppc.c:3065
+#: config/tc-ppc.c:3077
 msgid "attempt to redefine symbol"
 msgstr ""
 
-#: config/tc-ppc.c:3307
+#: config/tc-ppc.c:3319
 msgid "The XCOFF file format does not support arbitrary sections"
 msgstr ""
 
-#: config/tc-ppc.c:3381
+#: config/tc-ppc.c:3393
 msgid "missing rename string"
 msgstr ""
 
-#: config/tc-ppc.c:3411 config/tc-ppc.c:3953 read.c:3264
+#: config/tc-ppc.c:3423 config/tc-ppc.c:3965 read.c:3264
 msgid "missing value"
 msgstr ""
 
-#: config/tc-ppc.c:3429
+#: config/tc-ppc.c:3441
 msgid "illegal .stabx expression; zero assumed"
 msgstr ""
 
-#: config/tc-ppc.c:3461
+#: config/tc-ppc.c:3473
 msgid "missing class"
 msgstr ""
 
-#: config/tc-ppc.c:3470
+#: config/tc-ppc.c:3482
 msgid "missing type"
 msgstr ""
 
-#: config/tc-ppc.c:3550
+#: config/tc-ppc.c:3562
 msgid "missing symbol name"
 msgstr ""
 
-#: config/tc-ppc.c:3740
+#: config/tc-ppc.c:3752
 msgid "nested .bs blocks"
 msgstr ""
 
-#: config/tc-ppc.c:3772
+#: config/tc-ppc.c:3784
 msgid ".es without preceding .bs"
 msgstr ""
 
-#: config/tc-ppc.c:3945
+#: config/tc-ppc.c:3957
 msgid "non-constant byte count"
 msgstr ""
 
-#: config/tc-ppc.c:3992
+#: config/tc-ppc.c:4004
 msgid ".tc not in .toc section"
 msgstr ""
 
-#: config/tc-ppc.c:4011
+#: config/tc-ppc.c:4023
 msgid ".tc with no label"
 msgstr ""
 
-#: config/tc-ppc.c:4102
+#: config/tc-ppc.c:4114
 msgid ".machine stack overflow"
 msgstr ""
 
-#: config/tc-ppc.c:4109
+#: config/tc-ppc.c:4121
 msgid ".machine stack underflow"
 msgstr ""
 
-#: config/tc-ppc.c:4116
+#: config/tc-ppc.c:4128
 #, c-format
 msgid "invalid machine `%s'"
 msgstr ""
 
-#: config/tc-ppc.c:4167
+#: config/tc-ppc.c:4179
 msgid "No previous section to return to. Directive ignored."
 msgstr ""
 
 #. Section Contents
 #. unknown
-#: config/tc-ppc.c:4577
+#: config/tc-ppc.c:4589
 msgid "Unsupported section attribute -- 'a'"
 msgstr ""
 
-#: config/tc-ppc.c:4761
+#: config/tc-ppc.c:4773
 msgid "bad symbol suffix"
 msgstr ""
 
-#: config/tc-ppc.c:4853
+#: config/tc-ppc.c:4865
 msgid "Unrecognized symbol suffix"
 msgstr ""
 
-#: config/tc-ppc.c:4941
+#: config/tc-ppc.c:4953
 msgid "two .function pseudo-ops with no intervening .ef"
 msgstr ""
 
-#: config/tc-ppc.c:4954
+#: config/tc-ppc.c:4966
 msgid ".ef with no preceding .function"
 msgstr ""
 
-#: config/tc-ppc.c:5082
+#: config/tc-ppc.c:5094
 #, c-format
 msgid "warning: symbol %s has no csect"
 msgstr ""
 
-#: config/tc-ppc.c:5375
+#: config/tc-ppc.c:5339
 msgid "symbol in .toc does not match any .tc"
 msgstr ""
 
-#: config/tc-ppc.c:5742
+#: config/tc-ppc.c:5706
 #, c-format
 msgid "unsupported relocation against %s"
 msgstr ""
 
-#: config/tc-ppc.c:5815
+#: config/tc-ppc.c:5779
 #, c-format
 msgid "cannot emit PC relative %s relocation against %s"
 msgstr ""
 
-#: config/tc-ppc.c:5820
+#: config/tc-ppc.c:5784
 #, c-format
 msgid "cannot emit PC relative %s relocation"
 msgstr ""
 
-#: config/tc-ppc.c:6002
+#: config/tc-ppc.c:5966
 #, c-format
 msgid "Unable to handle reference to symbol %s"
 msgstr ""
 
-#: config/tc-ppc.c:6005
+#: config/tc-ppc.c:5969
 msgid "Unable to resolve expression"
 msgstr ""
 
-#: config/tc-ppc.c:6032
+#: config/tc-ppc.c:5996
 msgid "must branch to an address a multiple of 4"
 msgstr ""
 
-#: config/tc-ppc.c:6036
+#: config/tc-ppc.c:6000
 #, c-format
 msgid "@local or @plt branch destination is too far away, %ld bytes"
 msgstr ""
 
-#: config/tc-ppc.c:6067
+#: config/tc-ppc.c:6031
 #, c-format
 msgid "Gas failure, reloc value %d\n"
 msgstr ""
@@ -10577,7 +10552,7 @@ msgstr ""
 msgid "missing comma after insn constant\n"
 msgstr ""
 
-#: config/tc-s390.c:2096
+#: config/tc-s390.c:2056
 msgid "unsupported relocation type"
 msgstr ""
 
@@ -10605,267 +10580,267 @@ msgstr ""
 msgid "the label length is longer than 1024"
 msgstr ""
 
-#: config/tc-score.c:238
+#: config/tc-score.c:233
 msgid "S+core register expected"
 msgstr ""
 
-#: config/tc-score.c:239
+#: config/tc-score.c:234
 msgid "S+core special-register expected"
 msgstr ""
 
-#: config/tc-score.c:240
+#: config/tc-score.c:235
 msgid "S+core co-processor register expected"
 msgstr ""
 
-#: config/tc-score.c:858 config/tc-score.c:1758
+#: config/tc-score.c:853 config/tc-score.c:1753
 msgid "Using temp register(r1)"
 msgstr ""
 
-#: config/tc-score.c:877
+#: config/tc-score.c:872
 #, c-format
 msgid "register expected, not '%.100s'"
 msgstr ""
 
-#: config/tc-score.c:1263 config/tc-score.c:1270 config/tc-score.c:2645
-#: config/tc-score.c:2650 config/tc-score.c:2928 config/tc-score.c:2933
+#: config/tc-score.c:1258 config/tc-score.c:1265 config/tc-score.c:2640
+#: config/tc-score.c:2645 config/tc-score.c:2923 config/tc-score.c:2928
 #, c-format
 msgid "invalid constant: %d bit expression not in range %d..%d"
 msgstr ""
 
-#: config/tc-score.c:1310
+#: config/tc-score.c:1305
 msgid "invalid constant: bit expression not defined"
 msgstr ""
 
-#: config/tc-score.c:1772
+#: config/tc-score.c:1767
 #, c-format
 msgid "low register(r0-r15)expected, not '%.100s'"
 msgstr ""
 
-#: config/tc-score.c:1867
+#: config/tc-score.c:1862
 #, c-format
 msgid "high register(r16-r31)expected, not '%.100s'"
 msgstr ""
 
-#: config/tc-score.c:2099
+#: config/tc-score.c:2094
 #, c-format
 msgid "Fix data dependency: %s %s -- %s %s  (insert %d nop!/%d)"
 msgstr ""
 
-#: config/tc-score.c:2118
+#: config/tc-score.c:2113
 #, c-format
 msgid "Fix data dependency: %s %s -- %s %s  (insert 1 pflush/%d)"
 msgstr ""
 
-#: config/tc-score.c:2134 config/tc-score.c:2141
+#: config/tc-score.c:2129 config/tc-score.c:2136
 #, c-format
 msgid "data dependency: %s %s -- %s %s  (%d/%d bubble)"
 msgstr ""
 
-#: config/tc-score.c:2431 config/tc-score.c:5662
+#: config/tc-score.c:2426 config/tc-score.c:5592
 #, c-format
 msgid "%s -- `%s'"
 msgstr ""
 
-#: config/tc-score.c:2588
+#: config/tc-score.c:2583
 msgid "address offset must be half word alignment"
 msgstr ""
 
-#: config/tc-score.c:2596
+#: config/tc-score.c:2591
 msgid "address offset must be word alignment"
 msgstr ""
 
-#: config/tc-score.c:2738 config/tc-score.c:2885
+#: config/tc-score.c:2733 config/tc-score.c:2880
 msgid "register same as write-back base"
 msgstr ""
 
-#: config/tc-score.c:2855
+#: config/tc-score.c:2850
 msgid "pre-indexed expression expected"
 msgstr ""
 
-#: config/tc-score.c:2865 config/tc-score.c:3223 config/tc-score.c:3239
-#: config/tc-score.c:3310 config/tc-score.c:3353 config/tc-score.c:3475
-#: config/tc-score.c:3549 config/tc-score.c:3603 config/tc-score.c:3649
+#: config/tc-score.c:2860 config/tc-score.c:3218 config/tc-score.c:3234
+#: config/tc-score.c:3305 config/tc-score.c:3348 config/tc-score.c:3470
+#: config/tc-score.c:3544 config/tc-score.c:3598 config/tc-score.c:3644
 msgid "missing ]"
 msgstr ""
 
-#: config/tc-score.c:3466
+#: config/tc-score.c:3461
 msgid "base register nums are over 3 bit"
 msgstr ""
 
-#: config/tc-score.c:3543 config/tc-score.c:3594
+#: config/tc-score.c:3538 config/tc-score.c:3589
 msgid "missing +"
 msgstr ""
 
-#: config/tc-score.c:3587
+#: config/tc-score.c:3582
 #, c-format
 msgid "%s register same as write-back base"
 msgstr ""
 
-#: config/tc-score.c:3589
+#: config/tc-score.c:3584
 msgid "destination"
 msgstr ""
 
-#: config/tc-score.c:3589
+#: config/tc-score.c:3584
 msgid "source"
 msgstr ""
 
-#: config/tc-score.c:3993
+#: config/tc-score.c:3988
 msgid "li rd label isn't correct instruction form"
 msgstr ""
 
-#: config/tc-score.c:4506 config/tc-score.c:4535 config/tc-score.c:4561
+#: config/tc-score.c:4501 config/tc-score.c:4530 config/tc-score.c:4556
 msgid "lacking label  "
 msgstr ""
 
-#: config/tc-score.c:4513
+#: config/tc-score.c:4508
 msgid "invalid constant: 25 bit expression not in range -2^24..2^24"
 msgstr ""
 
-#: config/tc-score.c:4541
+#: config/tc-score.c:4536
 msgid "invalid constant: 12 bit expression not in range -2^11..2^11"
 msgstr ""
 
-#: config/tc-score.c:4567
+#: config/tc-score.c:4562
 msgid "invalid constant: 20 bit expression not in range -2^19..2^19"
 msgstr ""
 
-#: config/tc-score.c:4600
+#: config/tc-score.c:4595
 msgid "lacking label"
 msgstr ""
 
-#: config/tc-score.c:4605
+#: config/tc-score.c:4600
 msgid "invalid constant: 9 bit expression not in range -2^8..2^8"
 msgstr ""
 
-#: config/tc-score.c:5344
+#: config/tc-score.c:5274
 #, c-format
 msgid " branch relocation truncate (0x%x) [-2^8 ~ 2^8]"
 msgstr ""
 
-#: config/tc-score.c:5361 config/tc-score.c:5391
+#: config/tc-score.c:5291 config/tc-score.c:5321
 #, c-format
 msgid " branch relocation truncate (0x%x) [-2^19 ~ 2^19]"
 msgstr ""
 
-#: config/tc-score.c:5415
+#: config/tc-score.c:5345
 #, c-format
 msgid " branch relocation truncate (0x%x)  [-2^8 ~ 2^8]"
 msgstr ""
 
-#: config/tc-score.c:5581
+#: config/tc-score.c:5511
 #, c-format
 msgid "cannot represent %s relocation in this object file format1"
 msgstr ""
 
-#: config/tc-score.c:5640
+#: config/tc-score.c:5570
 msgid "pce instruction error (16 bit || 16 bit)'"
 msgstr ""
 
-#: config/tc-score.c:5770
+#: config/tc-score.c:5700
 #, c-format
 msgid "Sunplus-v2-0-0-20060510\n"
 msgstr ""
 
-#: config/tc-score.c:5786
+#: config/tc-score.c:5716
 #, c-format
 msgid " Score-specific assembler options:\n"
 msgstr ""
 
-#: config/tc-score.c:5788
+#: config/tc-score.c:5718
 #, c-format
 msgid "        -EB\t\tassemble code for a big-endian cpu\n"
 msgstr ""
 
-#: config/tc-score.c:5793
+#: config/tc-score.c:5723
 #, c-format
 msgid "        -EL\t\tassemble code for a little-endian cpu\n"
 msgstr ""
 
-#: config/tc-score.c:5797
+#: config/tc-score.c:5727
 #, c-format
 msgid "        -FIXDD\t\tassemble code for fix data dependency\n"
 msgstr ""
 
-#: config/tc-score.c:5799
+#: config/tc-score.c:5729
 #, c-format
 msgid ""
 "        -NWARN\t\tassemble code for no warning message for fix data "
 "dependency\n"
 msgstr ""
 
-#: config/tc-score.c:5801
+#: config/tc-score.c:5731
 #, c-format
 msgid "        -SCORE5\t\tassemble code for target is SCORE5\n"
 msgstr ""
 
-#: config/tc-score.c:5803
+#: config/tc-score.c:5733
 #, c-format
 msgid "        -SCORE5U\tassemble code for target is SCORE5U\n"
 msgstr ""
 
-#: config/tc-score.c:5805
+#: config/tc-score.c:5735
 #, c-format
 msgid ""
 "        -SCORE7\t\tassemble code for target is SCORE7, this is default "
 "setting\n"
 msgstr ""
 
-#: config/tc-score.c:5807
+#: config/tc-score.c:5737
 #, c-format
 msgid ""
 "        -USE_R1\t\tassemble code for no warning message when using temp "
 "register r1\n"
 msgstr ""
 
-#: config/tc-score.c:5809
+#: config/tc-score.c:5739
 #, c-format
 msgid "        -KPIC\t\tassemble code for PIC\n"
 msgstr ""
 
-#: config/tc-score.c:5811
+#: config/tc-score.c:5741
 #, c-format
 msgid "        -O0\t\tassembler will not perform any optimizations\n"
 msgstr ""
 
-#: config/tc-score.c:5813
+#: config/tc-score.c:5743
 #, c-format
 msgid ""
 "        -G gpnum\tassemble code for setting gpsize and default is 8 byte\n"
 msgstr ""
 
-#: config/tc-score.c:5815
+#: config/tc-score.c:5745
 #, c-format
 msgid "        -V \t\tSunplus release version \n"
 msgstr ""
 
-#: config/tc-score.c:6415 read.c:1463
+#: config/tc-score.c:6345 read.c:1463
 msgid "missing size expression"
 msgstr ""
 
-#: config/tc-score.c:6421
+#: config/tc-score.c:6351
 #, c-format
 msgid "BSS length (%d) < 0 ignored"
 msgstr ""
 
-#: config/tc-score.c:6436 read.c:2281
+#: config/tc-score.c:6366 read.c:2281
 #, c-format
 msgid "error setting flags for \".sbss\": %s"
 msgstr ""
 
-#: config/tc-score.c:6450 config/tc-sparc.c:3797
+#: config/tc-score.c:6380 config/tc-sparc.c:3724
 msgid "missing alignment"
 msgstr ""
 
-#: config/tc-score.c:6487
+#: config/tc-score.c:6417
 #, c-format
 msgid "alignment too large; %d assumed"
 msgstr ""
 
-#: config/tc-score.c:6492 read.c:2342
+#: config/tc-score.c:6422 read.c:2342
 msgid "alignment negative; 0 assumed"
 msgstr ""
 
-#: config/tc-score.c:6559 config/tc-z80.c:289 ecoff.c:3355 read.c:1482
+#: config/tc-score.c:6489 config/tc-z80.c:289 ecoff.c:3355 read.c:1482
 #: read.c:1595 read.c:2459 read.c:3006 read.c:3391 symbols.c:326 symbols.c:432
 #, c-format
 msgid "symbol `%s' is already defined"
@@ -11213,39 +11188,39 @@ msgstr ""
 msgid "excess operands: '%s'"
 msgstr ""
 
-#: config/tc-sh.c:3116
+#: config/tc-sh.c:3066
 msgid ".uses pseudo-op seen when not relaxing"
 msgstr ""
 
-#: config/tc-sh.c:3122
+#: config/tc-sh.c:3072
 msgid "bad .uses format"
 msgstr ""
 
-#: config/tc-sh.c:3224
+#: config/tc-sh.c:3174
 msgid "Invalid combination: --isa=SHcompact with --isa=SHmedia"
 msgstr ""
 
-#: config/tc-sh.c:3230
+#: config/tc-sh.c:3180
 msgid "Invalid combination: --isa=SHmedia with --isa=SHcompact"
 msgstr ""
 
-#: config/tc-sh.c:3232
+#: config/tc-sh.c:3182
 msgid "Invalid combination: --abi=64 with --isa=SHcompact"
 msgstr ""
 
-#: config/tc-sh.c:3273
+#: config/tc-sh.c:3223
 msgid "Invalid combination: --abi=32 with --abi=64"
 msgstr ""
 
-#: config/tc-sh.c:3279
+#: config/tc-sh.c:3229
 msgid "Invalid combination: --abi=64 with --abi=32"
 msgstr ""
 
-#: config/tc-sh.c:3281
+#: config/tc-sh.c:3231
 msgid "Invalid combination: --isa=SHcompact with --abi=64"
 msgstr ""
 
-#: config/tc-sh.c:3315
+#: config/tc-sh.c:3265
 #, c-format
 msgid ""
 "SH options:\n"
@@ -11262,7 +11237,7 @@ msgid ""
 "    | fp"
 msgstr ""
 
-#: config/tc-sh.c:3341
+#: config/tc-sh.c:3291
 #, c-format
 msgid ""
 "--isa=[shmedia\t\tset as the default instruction set for SH64\n"
@@ -11271,7 +11246,7 @@ msgid ""
 "    | SHcompact]\n"
 msgstr ""
 
-#: config/tc-sh.c:3346
+#: config/tc-sh.c:3296
 #, c-format
 msgid ""
 "--abi=[32|64]\t\tset size of expanded SHmedia operands and object\n"
@@ -11285,57 +11260,57 @@ msgid ""
 "\t\t\tto 32 bits only\n"
 msgstr ""
 
-#: config/tc-sh.c:3445
+#: config/tc-sh.c:3395
 msgid ".uses does not refer to a local symbol in the same section"
 msgstr ""
 
-#: config/tc-sh.c:3464
+#: config/tc-sh.c:3414
 msgid "can't find fixup pointed to by .uses"
 msgstr ""
 
-#: config/tc-sh.c:3484
+#: config/tc-sh.c:3434
 msgid ".uses target does not refer to a local symbol in the same section"
 msgstr ""
 
-#: config/tc-sh.c:3561
+#: config/tc-sh.c:3511
 msgid "displacement overflows 12-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3564
+#: config/tc-sh.c:3514
 #, c-format
 msgid "displacement to defined symbol %s overflows 12-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3568
+#: config/tc-sh.c:3518
 #, c-format
 msgid "displacement to undefined symbol %s overflows 12-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3641
+#: config/tc-sh.c:3591
 msgid "displacement overflows 8-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3644
+#: config/tc-sh.c:3594
 #, c-format
 msgid "displacement to defined symbol %s overflows 8-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3648
+#: config/tc-sh.c:3598
 #, c-format
 msgid "displacement to undefined symbol %s overflows 8-bit field "
 msgstr ""
 
-#: config/tc-sh.c:3665
+#: config/tc-sh.c:3615
 #, c-format
 msgid "overflow in branch to %s; converted into longer instruction sequence"
 msgstr ""
 
-#: config/tc-sh.c:3731 config/tc-sh.c:3778 config/tc-sparc.c:4314
-#: config/tc-sparc.c:4339
+#: config/tc-sh.c:3681 config/tc-sh.c:3728 config/tc-sparc.c:4241
+#: config/tc-sparc.c:4266
 msgid "misaligned data"
 msgstr ""
 
-#: config/tc-sh.c:4206
+#: config/tc-sh.c:4156
 msgid "misaligned offset"
 msgstr ""
 
@@ -11648,95 +11623,95 @@ msgstr ""
 msgid " (Requires %s; requested architecture is %s.)"
 msgstr ""
 
-#: config/tc-sparc.c:3423
+#: config/tc-sparc.c:3350
 #, c-format
 msgid "bad or unhandled relocation type: 0x%02x"
 msgstr ""
 
-#: config/tc-sparc.c:3759
+#: config/tc-sparc.c:3686
 msgid "Expected comma after name"
 msgstr ""
 
-#: config/tc-sparc.c:3768
+#: config/tc-sparc.c:3695
 #, c-format
 msgid "BSS length (%d.) <0! Ignored."
 msgstr ""
 
-#: config/tc-sparc.c:3780
+#: config/tc-sparc.c:3707
 msgid "bad .reserve segment -- expected BSS segment"
 msgstr ""
 
-#: config/tc-sparc.c:3808
+#: config/tc-sparc.c:3735
 #, c-format
 msgid "alignment too large; assuming %d"
 msgstr ""
 
-#: config/tc-sparc.c:3814 config/tc-sparc.c:3965
+#: config/tc-sparc.c:3741 config/tc-sparc.c:3892
 msgid "negative alignment"
 msgstr ""
 
-#: config/tc-sparc.c:3824 config/tc-sparc.c:3988 read.c:1319 read.c:2354
+#: config/tc-sparc.c:3751 config/tc-sparc.c:3915 read.c:1319 read.c:2354
 msgid "alignment not a power of 2"
 msgstr ""
 
-#: config/tc-sparc.c:3902 config/tc-v850.c:222
+#: config/tc-sparc.c:3829 config/tc-v850.c:222
 msgid "Expected comma after symbol-name"
 msgstr ""
 
-#: config/tc-sparc.c:3912
+#: config/tc-sparc.c:3839
 #, c-format
 msgid ".COMMon length (%lu) out of range ignored"
 msgstr ""
 
-#: config/tc-sparc.c:3945
+#: config/tc-sparc.c:3872
 msgid "Expected comma after common length"
 msgstr ""
 
-#: config/tc-sparc.c:3959
+#: config/tc-sparc.c:3886
 #, c-format
 msgid "alignment too large; assuming %ld"
 msgstr ""
 
-#: config/tc-sparc.c:4105
+#: config/tc-sparc.c:4032
 msgid "Unknown segment type"
 msgstr ""
 
-#: config/tc-sparc.c:4184 config/tc-sparc.c:4194
+#: config/tc-sparc.c:4111 config/tc-sparc.c:4121
 #, c-format
 msgid "register syntax is .register %%g[2367],{#scratch|symbolname|#ignore}"
 msgstr ""
 
-#: config/tc-sparc.c:4212
+#: config/tc-sparc.c:4139
 msgid "redefinition of global register"
 msgstr ""
 
-#: config/tc-sparc.c:4223
+#: config/tc-sparc.c:4150
 #, c-format
 msgid "Register symbol %s already defined."
 msgstr ""
 
-#: config/tc-sparc.c:4432
+#: config/tc-sparc.c:4359
 #, c-format
 msgid "Illegal operands: %%r_plt in %d-byte data field"
 msgstr ""
 
-#: config/tc-sparc.c:4442
+#: config/tc-sparc.c:4369
 #, c-format
 msgid "Illegal operands: %%r_tls_dtpoff in %d-byte data field"
 msgstr ""
 
-#: config/tc-sparc.c:4479 config/tc-vax.c:3312
+#: config/tc-sparc.c:4406 config/tc-vax.c:3312
 #, c-format
 msgid "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"
 msgstr ""
 
-#: config/tc-sparc.c:4487 config/tc-sparc.c:4518 config/tc-sparc.c:4527
+#: config/tc-sparc.c:4414 config/tc-sparc.c:4445 config/tc-sparc.c:4454
 #: config/tc-vax.c:3320 config/tc-vax.c:3351 config/tc-vax.c:3360
 #, c-format
 msgid "Illegal operands: %%r_%s%d requires arguments in ()"
 msgstr ""
 
-#: config/tc-sparc.c:4536 config/tc-vax.c:3369
+#: config/tc-sparc.c:4463 config/tc-vax.c:3369
 #, c-format
 msgid "Illegal operands: garbage after %%r_%s%d()"
 msgstr ""
@@ -11807,7 +11782,7 @@ msgstr ""
 msgid "Constant expression %d out of range, [%d, %d]."
 msgstr ""
 
-#: config/tc-spu.c:856
+#: config/tc-spu.c:805
 msgid "Relaxation should never occur"
 msgstr ""
 
@@ -11815,7 +11790,7 @@ msgstr ""
 msgid "spu convert_frag\n"
 msgstr ""
 
-#: config/tc-tic4x.c:2900
+#: config/tc-tic4x.c:2897
 #, c-format
 msgid ""
 "\n"
@@ -12279,26 +12254,26 @@ msgid ""
 "repeatable. Resulting behavior is undefined."
 msgstr ""
 
-#: config/tc-tic54x.c:5457
+#: config/tc-tic54x.c:5438
 #, c-format
 msgid "Unsupported relocation size %d"
 msgstr ""
 
-#: config/tc-tic54x.c:5600
+#: config/tc-tic54x.c:5581
 msgid "non-absolute value used with .space/.bes"
 msgstr ""
 
-#: config/tc-tic54x.c:5604
+#: config/tc-tic54x.c:5585
 #, c-format
 msgid "negative value ignored in %s"
 msgstr ""
 
-#: config/tc-tic54x.c:5693
+#: config/tc-tic54x.c:5674
 #, c-format
 msgid "attempt to .space/.bes backwards? (%ld)"
 msgstr ""
 
-#: config/tc-tic54x.c:5727
+#: config/tc-tic54x.c:5708
 #, c-format
 msgid "Invalid label '%s'"
 msgstr ""
@@ -12397,84 +12372,84 @@ msgstr ""
 msgid "  -mrelax                   Enable relaxation\n"
 msgstr ""
 
-#: config/tc-v850.c:1323
+#: config/tc-v850.c:1291
 #, c-format
 msgid "Unable to determine default target processor from string: %s"
 msgstr ""
 
-#: config/tc-v850.c:1358
+#: config/tc-v850.c:1326
 msgid "lo() relocation used on an instruction which does not support it"
 msgstr ""
 
-#: config/tc-v850.c:1375
+#: config/tc-v850.c:1343
 msgid "ctoff() relocation used on an instruction which does not support it"
 msgstr ""
 
-#: config/tc-v850.c:1397
+#: config/tc-v850.c:1365
 msgid "sdaoff() relocation used on an instruction which does not support it"
 msgstr ""
 
-#: config/tc-v850.c:1419
+#: config/tc-v850.c:1387
 msgid "zdaoff() relocation used on an instruction which does not support it"
 msgstr ""
 
-#: config/tc-v850.c:1452
+#: config/tc-v850.c:1420
 msgid "tdaoff() relocation used on an instruction which does not support it"
 msgstr ""
 
-#: config/tc-v850.c:1657
+#: config/tc-v850.c:1625
 msgid "Target processor does not support this instruction."
 msgstr ""
 
-#: config/tc-v850.c:1746 config/tc-v850.c:1775 config/tc-v850.c:1955
+#: config/tc-v850.c:1714 config/tc-v850.c:1743 config/tc-v850.c:1923
 msgid "immediate operand is too large"
 msgstr ""
 
-#: config/tc-v850.c:1757
+#: config/tc-v850.c:1725
 msgid "AAARG -> unhandled constant reloc"
 msgstr ""
 
-#: config/tc-v850.c:1800
+#: config/tc-v850.c:1768
 msgid "invalid register name"
 msgstr ""
 
-#: config/tc-v850.c:1804
+#: config/tc-v850.c:1772
 msgid "register r0 cannot be used here"
 msgstr ""
 
-#: config/tc-v850.c:1815
+#: config/tc-v850.c:1783
 msgid "invalid system register name"
 msgstr ""
 
-#: config/tc-v850.c:1827
+#: config/tc-v850.c:1795
 msgid "expected EP register"
 msgstr ""
 
-#: config/tc-v850.c:1843
+#: config/tc-v850.c:1811
 msgid "invalid condition code name"
 msgstr ""
 
-#: config/tc-v850.c:1863 config/tc-v850.c:1867
+#: config/tc-v850.c:1831 config/tc-v850.c:1835
 msgid "constant too big to fit into instruction"
 msgstr ""
 
-#: config/tc-v850.c:1920
+#: config/tc-v850.c:1888
 msgid "syntax error: value is missing before the register name"
 msgstr ""
 
-#: config/tc-v850.c:1922
+#: config/tc-v850.c:1890
 msgid "syntax error: register not expected"
 msgstr ""
 
-#: config/tc-v850.c:1935
+#: config/tc-v850.c:1903
 msgid "syntax error: system register not expected"
 msgstr ""
 
-#: config/tc-v850.c:1939
+#: config/tc-v850.c:1907
 msgid "syntax error: condition code not expected"
 msgstr ""
 
-#: config/tc-v850.c:1973 config/tc-xtensa.c:11561
+#: config/tc-v850.c:1941 config/tc-xtensa.c:11525
 msgid "invalid operand"
 msgstr ""
 
@@ -12719,7 +12694,7 @@ msgstr ""
 msgid " XC16X specific command line options:\n"
 msgstr ""
 
-#: config/tc-xc16x.c:293
+#: config/tc-xc16x.c:244
 #, c-format
 msgid "call tomd_estimate_size_before_relax \n"
 msgstr ""
@@ -13086,216 +13061,216 @@ msgstr ""
 msgid "unhandled local relocation fix %s"
 msgstr ""
 
-#: config/tc-xtensa.c:6039
+#: config/tc-xtensa.c:6003
 msgid "couldn't find a valid instruction format"
 msgstr ""
 
-#: config/tc-xtensa.c:6040
+#: config/tc-xtensa.c:6004
 #, c-format
 msgid "    ops were: "
 msgstr ""
 
-#: config/tc-xtensa.c:6042
+#: config/tc-xtensa.c:6006
 #, c-format
 msgid " %s;"
 msgstr ""
 
-#: config/tc-xtensa.c:6053
+#: config/tc-xtensa.c:6017
 #, c-format
 msgid "format '%s' allows %d slots, but there are %d opcodes"
 msgstr ""
 
-#: config/tc-xtensa.c:6064 config/tc-xtensa.c:6162
+#: config/tc-xtensa.c:6028 config/tc-xtensa.c:6126
 msgid "illegal resource usage in bundle"
 msgstr ""
 
-#: config/tc-xtensa.c:6249
+#: config/tc-xtensa.c:6213
 #, c-format
 msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same register"
 msgstr ""
 
-#: config/tc-xtensa.c:6254
+#: config/tc-xtensa.c:6218
 #, c-format
 msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same state"
 msgstr ""
 
-#: config/tc-xtensa.c:6259
+#: config/tc-xtensa.c:6223
 #, c-format
 msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same port"
 msgstr ""
 
-#: config/tc-xtensa.c:6264
+#: config/tc-xtensa.c:6228
 #, c-format
 msgid ""
 "opcodes '%s' (slot %d) and '%s' (slot %d) both have volatile port accesses"
 msgstr ""
 
-#: config/tc-xtensa.c:6280
+#: config/tc-xtensa.c:6244
 msgid "multiple branches or jumps in the same bundle"
 msgstr ""
 
-#: config/tc-xtensa.c:6728
+#: config/tc-xtensa.c:6692
 msgid "cannot assemble into a literal fragment"
 msgstr ""
 
-#: config/tc-xtensa.c:6730
+#: config/tc-xtensa.c:6694
 msgid "..."
 msgstr ""
 
-#: config/tc-xtensa.c:7274
+#: config/tc-xtensa.c:7238
 msgid ""
 "instruction sequence (write a0, branch, retw) may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:7386
+#: config/tc-xtensa.c:7350
 msgid "branching or jumping to a loop end may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:7468
+#: config/tc-xtensa.c:7432
 msgid "loop end too close to another loop end may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:7477
+#: config/tc-xtensa.c:7441
 #, c-format
 msgid "fr_var %lu < length %d"
 msgstr ""
 
-#: config/tc-xtensa.c:7636
+#: config/tc-xtensa.c:7600
 msgid ""
 "loop containing less than three instructions may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:7708
+#: config/tc-xtensa.c:7672
 msgid "undecodable instruction in instruction frag"
 msgstr ""
 
-#: config/tc-xtensa.c:7818
+#: config/tc-xtensa.c:7782
 msgid "invalid empty loop"
 msgstr ""
 
-#: config/tc-xtensa.c:7823
+#: config/tc-xtensa.c:7787
 msgid "loop target does not follow loop instruction in section"
 msgstr ""
 
-#: config/tc-xtensa.c:8396
+#: config/tc-xtensa.c:8360
 msgid "bad relaxation state"
 msgstr ""
 
-#: config/tc-xtensa.c:8454
+#: config/tc-xtensa.c:8418
 #, c-format
 msgid "fr_var (%ld) < length (%d)"
 msgstr ""
 
-#: config/tc-xtensa.c:8961
+#: config/tc-xtensa.c:8925
 msgid "internal error: relaxation failed"
 msgstr ""
 
-#: config/tc-xtensa.c:8967
+#: config/tc-xtensa.c:8931
 msgid "internal error: relaxation requires too many steps"
 msgstr ""
 
-#: config/tc-xtensa.c:9143
+#: config/tc-xtensa.c:9107
 msgid "invalid relaxation fragment result"
 msgstr ""
 
-#: config/tc-xtensa.c:9222
+#: config/tc-xtensa.c:9186
 msgid "unable to widen instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:9362
+#: config/tc-xtensa.c:9326
 msgid "multiple literals in expansion"
 msgstr ""
 
-#: config/tc-xtensa.c:9366
+#: config/tc-xtensa.c:9330
 msgid "no registered fragment for literal"
 msgstr ""
 
-#: config/tc-xtensa.c:9368
+#: config/tc-xtensa.c:9332
 msgid "number of literal tokens != 1"
 msgstr ""
 
-#: config/tc-xtensa.c:9498 config/tc-xtensa.c:9504
+#: config/tc-xtensa.c:9462 config/tc-xtensa.c:9468
 #, c-format
 msgid "unresolved loop target symbol: %s"
 msgstr ""
 
-#: config/tc-xtensa.c:9610
+#: config/tc-xtensa.c:9574
 #, c-format
 msgid "invalid expression evaluation type %d"
 msgstr ""
 
-#: config/tc-xtensa.c:9627
+#: config/tc-xtensa.c:9591
 msgid "loop too long for LOOP instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:9897
+#: config/tc-xtensa.c:9861
 #, c-format
 msgid "fixes not all moved from %s"
 msgstr ""
 
-#: config/tc-xtensa.c:10028
+#: config/tc-xtensa.c:9992
 msgid ""
 "literal pool location required for text-section-literals; specify with ."
 "literal_position"
 msgstr ""
 
-#: config/tc-xtensa.c:10957
+#: config/tc-xtensa.c:10921
 msgid "too many operands in instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:11168
+#: config/tc-xtensa.c:11132
 msgid "invalid symbolic operand"
 msgstr ""
 
-#: config/tc-xtensa.c:11229
+#: config/tc-xtensa.c:11193
 msgid "operand number mismatch"
 msgstr ""
 
-#: config/tc-xtensa.c:11233
+#: config/tc-xtensa.c:11197
 #, c-format
 msgid "cannot encode opcode \"%s\" in the given format \"%s\""
 msgstr ""
 
-#: config/tc-xtensa.c:11258
+#: config/tc-xtensa.c:11222
 #, c-format
 msgid "xtensa-isa failure: %s"
 msgstr ""
 
-#: config/tc-xtensa.c:11329
+#: config/tc-xtensa.c:11293
 msgid "invalid opcode"
 msgstr ""
 
-#: config/tc-xtensa.c:11335
+#: config/tc-xtensa.c:11299
 msgid "too few operands"
 msgstr ""
 
-#: config/tc-xtensa.c:11450 config/tc-xtensa.c:11456
+#: config/tc-xtensa.c:11414 config/tc-xtensa.c:11420
 msgid "out of memory"
 msgstr ""
 
-#: config/tc-xtensa.c:11567
+#: config/tc-xtensa.c:11531
 msgid "symbolic operand not allowed"
 msgstr ""
 
-#: config/tc-xtensa.c:11604
+#: config/tc-xtensa.c:11568
 msgid "cannot decode instruction format"
 msgstr ""
 
-#: config/tc-xtensa.c:11748
+#: config/tc-xtensa.c:11712
 msgid "ignoring extra '-rename-section' delimiter ':'"
 msgstr ""
 
-#: config/tc-xtensa.c:11753
+#: config/tc-xtensa.c:11717
 #, c-format
 msgid "ignoring invalid '-rename-section' specification: '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:11764
+#: config/tc-xtensa.c:11728
 #, c-format
 msgid "section %s renamed multiple times"
 msgstr ""
 
-#: config/tc-xtensa.c:11766
+#: config/tc-xtensa.c:11730
 #, c-format
 msgid "multiple sections remapped to output section %s"
 msgstr ""
@@ -13350,7 +13325,7 @@ msgstr ""
 msgid "junk at end of line, first unrecognized character is `%c'"
 msgstr ""
 
-#: config/tc-z80.c:1935 config/tc-z8k.c:1513 config/tc-z8k.c:1576
+#: config/tc-z80.c:1935 config/tc-z8k.c:1461 config/tc-z8k.c:1524
 msgid "relative jump out of range"
 msgstr ""
 
@@ -13358,7 +13333,7 @@ msgstr ""
 msgid "index offset  out of range"
 msgstr ""
 
-#: config/tc-z80.c:1994 config/tc-z8k.c:1584
+#: config/tc-z80.c:1994 config/tc-z8k.c:1532
 #, c-format
 msgid "md_apply_fix: unknown r_type 0x%x\n"
 msgstr ""
@@ -13461,12 +13436,12 @@ msgstr ""
 msgid "Can't find opcode to match operands"
 msgstr ""
 
-#: config/tc-z8k.c:1370
+#: config/tc-z8k.c:1318
 #, c-format
 msgid "invalid architecture -z%s"
 msgstr ""
 
-#: config/tc-z8k.c:1390
+#: config/tc-z8k.c:1338
 #, c-format
 msgid ""
 " Z8K options:\n"
@@ -13475,24 +13450,24 @@ msgid ""
 "  -linkrelax              create linker relaxable code\n"
 msgstr ""
 
-#: config/tc-z8k.c:1402
+#: config/tc-z8k.c:1350
 #, c-format
 msgid "call to md_convert_frag\n"
 msgstr ""
 
-#: config/tc-z8k.c:1509 config/tc-z8k.c:1549 config/tc-z8k.c:1572
+#: config/tc-z8k.c:1457 config/tc-z8k.c:1497 config/tc-z8k.c:1520
 msgid "cannot branch to odd address"
 msgstr ""
 
-#: config/tc-z8k.c:1531
+#: config/tc-z8k.c:1479
 msgid "relative address out of range"
 msgstr ""
 
-#: config/tc-z8k.c:1552
+#: config/tc-z8k.c:1500
 msgid "relative call out of range"
 msgstr ""
 
-#: config/tc-z8k.c:1596
+#: config/tc-z8k.c:1544
 #, c-format
 msgid "call to md_estimate_size_before_relax\n"
 msgstr ""
@@ -14566,12 +14541,12 @@ msgstr ""
 msgid ".endfunc missing for previous .func"
 msgstr ""
 
-#: read.c:5784
+#: read.c:5790
 #, c-format
 msgid "missing closing `%c'"
 msgstr ""
 
-#: read.c:5786
+#: read.c:5792
 msgid "stray `\\'"
 msgstr ""
 
index 379b3f292a9b6f456bbb83f863488dcefa910964..1162139ca4504777c100de81f340e3ad35486d54 100644 (file)
@@ -3297,7 +3297,7 @@ s_float_space (int float_type)
 
       err = md_atof (float_type, temp, &flen);
       know (flen <= MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT);
-      know (flen > 0);
+      know (err != NULL || flen > 0);
       if (err)
        {
          as_bad (_("bad floating literal: %s"), err);
@@ -4602,7 +4602,7 @@ float_cons (/* Clobbers input_line-pointer, checks end-of-line.  */
        {
          err = md_atof (float_type, temp, &length);
          know (length <= MAXIMUM_NUMBER_OF_CHARS_FOR_FLOAT);
-         know (length > 0);
+         know (err != NULL || length > 0);
          if (err)
            {
              as_bad (_("bad floating literal: %s"), err);