2010-10-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Thu, 28 Oct 2010 07:37:45 +0000 (07:37 +0000)
committerAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Thu, 28 Oct 2010 07:37:45 +0000 (07:37 +0000)
* config/tc-s390.c (md_begin): Only add to hash table if cpu and
mode mask fit.

2010-10-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* s390-opc.txt: cfxr, cfdr and cfer z900 -> g5.

gas/ChangeLog
gas/config/tc-s390.c
opcodes/ChangeLog
opcodes/s390-opc.txt

index 6b9b61706b101c80b49684940a358651c894c70c..5ac943a3f4e4c1e41a27e2b3146590f86613742f 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/tc-s390.c (md_begin): Only add to hash table if cpu and
+       mode mask fit.
+
 2010-10-28  Alan Modra  <amodra@gmail.com>
 
        * config/tc-d30v.c (d30v_cons_align): Don't align .eh_frame.
index cf9f8a1845207c8ac75b392d2347276686d10dca..273ddd6512e3740501f8724b6f3be0fdc492adf5 100644 (file)
@@ -506,13 +506,18 @@ md_begin (void)
            break;
          op++;
         }
-      retval = hash_insert (s390_opcode_hash, op->name, (void *) op);
-      if (retval != (const char *) NULL)
-        {
-          as_bad (_("Internal assembler error for instruction %s"),
-                 op->name);
-         dup_insn = TRUE;
+
+      if (op->min_cpu <= current_cpu && (op->modes & current_mode_mask))
+       {
+         retval = hash_insert (s390_opcode_hash, op->name, (void *) op);
+         if (retval != (const char *) NULL)
+           {
+             as_bad (_("Internal assembler error for instruction %s"),
+                     op->name);
+             dup_insn = TRUE;
+           }
        }
+
       while (op < op_end - 1 && strcmp (op->name, op[1].name) == 0)
        op++;
       }
index e8d2a72eb29c0dfcefd8d1a41953dc3bc0301b9c..a39d8bee3c0b6db663bd90b4499b98a134abcdfd 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * s390-opc.txt: cfxr, cfdr and cfer z900 -> g5.
+
 2010-10-25  Chao-ying Fu  <fu@mips.com>
 
        * mips-opc.c (madd, maddu, msub, msubu, mult, multu): Change D33 to D32.
index e9b6ffc4da54914c3cdb2d5565b8bfb48854b495..4aa0da7ca78ebdc8ceab0204078ee8801fddff85 100644 (file)
@@ -555,9 +555,9 @@ b369 cxr RRE_FF "compare extended hfp" g5 esa,zarch
 b3b6 cxfr RRE_FR "convert from fixed 32 to extended hfp" g5 esa,zarch
 b3b5 cdfr RRE_FR "convert from fixed 32 to long hfp" g5 esa,zarch
 b3b4 cefr RRE_FR "convert from fixed 32 to short hfp" g5 esa,zarch
-b3ba cfxr RRF_U0RF "convert to fixed extended hfp to 32" z900 esa,zarch
-b3b9 cfdr RRF_U0RF "convert to fixed long hfp to 32" z900 esa,zarch
-b3b8 cfer RRF_U0RF "convert to fixed short hfp to 32" z900 esa,zarch
+b3ba cfxr RRF_U0RF "convert to fixed extended hfp to 32" g5 esa,zarch
+b3b9 cfdr RRF_U0RF "convert to fixed long hfp to 32" g5 esa,zarch
+b3b8 cfer RRF_U0RF "convert to fixed short hfp to 32" g5 esa,zarch
 b362 ltxr RRE_FF "load and test extended hfp" g5 esa,zarch
 b363 lcxr RRE_FF "load complement extended hfp" g5 esa,zarch
 b367 fixr RRE_FF "load fp integer extended hfp" g5 esa,zarch