* config/tc-d10v.c (find_opcode): Reject SP operand if
authorAlexandre Oliva <aoliva@redhat.com>
Tue, 4 Dec 2001 10:07:03 +0000 (10:07 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Tue, 4 Dec 2001 10:07:03 +0000 (10:07 +0000)
OPERAND_NOSP flag is present.

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

index e2e94d836cbbfffd7ee7233361d9df869849840b..4f40f803172b3c973aa59c19b507837624ddd097 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/tc-d10v.c (find_opcode): Reject SP operand if
+       OPERAND_NOSP flag is present.
+
 2001-12-03  Eric Christopher  <echristo@redhat.com>
 
        * config/tc-mips.c (tc_gen_reloc): One missed BFD_RELOC_MIPS_GPREL.
index 5074cddd0acbe1a106838e3a3aa9ec71b7d5ba4a..5238fb9613fd3f607b478a608acbf8d0b2d45f6e 100644 (file)
@@ -1468,6 +1468,9 @@ find_opcode (opcode, myops)
       if ((d10v_operands[opcode->operands[i]].flags & OPERAND_EVEN) &&
          (myops[i].X_add_number & 1))
        as_fatal (_("Register number must be EVEN"));
+      if ((d10v_operands[opcode->operands[i]].flags & OPERAND_NOSP)
+         && (myops[i].X_add_number & OPERAND_SP))
+       as_bad (_("Unsupported use of sp"));
       if (myops[i].X_op == O_register)
        {
          if (!(d10v_operands[opcode->operands[i]].flags & OPERAND_REG))