* config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
authorJeff Law <law@redhat.com>
Thu, 23 Sep 1999 14:30:31 +0000 (14:30 +0000)
committerJeff Law <law@redhat.com>
Thu, 23 Sep 1999 14:30:31 +0000 (14:30 +0000)
        with cleaner code using completer prefixes.   Add 'Y'.

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

index f93c2b1..c45b43c 100644 (file)
@@ -1,5 +1,8 @@
 Thu Sep 23 07:13:45 1999  Jerry Quinn <jquinn@nortelnetworks.com>
 
+       * config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
+       with cleaner code using completer prefixes.   Add 'Y'.
+
        * config/tc-hppa.c (pa_ip):  Add parens to silence compiler.
 
 Wed Sep 22 09:37:19 1999  Jeffrey A Law  (law@cygnus.com)
index 96ff576..251ae37 100644 (file)
@@ -1872,6 +1872,34 @@ pa_ip (str)
                    INSERT_FIELD_AND_CONTINUE (opcode, a, 13);
                  }
 
+               /* Handle a branch gate completer.  */
+               case 'g':
+                 if (strncasecmp (s, ",gate", 5) != 0)
+                   break;
+                 s += 5;
+                 continue;
+
+               /* Handle a branch link and push completer.  */
+               case 'p':
+                 if (strncasecmp (s, ",l,push", 7) != 0)
+                   break;
+                 s += 7;
+                 continue;
+
+               /* Handle a branch link completer.  */
+               case 'l':
+                 if (strncasecmp (s, ",l", 2) != 0)
+                   break;
+                 s += 2;
+                 continue;
+
+               /* Handle a branch pop completer.  */
+               case 'P':
+                 if (strncasecmp (s, ",pop", 4) != 0)
+                   break;
+                 s += 4;
+                 continue;
+
                /* Handle a local processor completer.  */
                case 'L':
                  if (strncasecmp (s, ",l", 2) != 0)
@@ -2720,38 +2748,6 @@ pa_ip (str)
              nullif = pa_parse_nullif (&s);
              INSERT_FIELD_AND_CONTINUE (opcode, nullif, 5);
 
-           /* Handle ,gate completer for new syntax branches.  */
-           case 'g':
-             if (*s == ',' && strncasecmp (s + 1, "gate", 4) == 0)
-               s += 5;
-             else
-               break;
-             continue;
-
-           /* Handle ,l completer for new syntax branches.  */
-           case 'l':
-             if (*s == ',' && strncasecmp (s + 1, "l", 1) == 0)
-               s += 2;
-             else
-               break;
-             continue;
-
-           /* Handle ,push completer for new syntax branches.  */
-           case 'M':
-             if (*s == ',' && strncasecmp (s + 1, "push", 4) == 0)
-               s += 5;
-             else
-               break;
-             continue;
-
-           /* Handle ,pop completer for new syntax branches.  */
-           case 'B':
-             if (*s == ',' && strncasecmp (s + 1, "pop", 3) == 0)
-               s += 4;
-             else
-               break;
-             continue;
-
            /* Handle ,%r2 completer for new syntax branches.  */
            case 'L':
              if (*s == ',' && strncasecmp (s + 1, "%r2", 3) == 0)
@@ -3146,6 +3142,13 @@ pa_ip (str)
              else
                break;
 
+           /* Handle '%sr0,%r31' implicit operand of be,l instruction.  */
+           case 'Y':
+             if (strncasecmp (s, "%sr0,%r31", 9) != 0)
+               break;
+             s += 9;
+             continue;
+
            /* Handle a 2 bit shift count at 25.  */
            case '.':
              num = pa_get_absolute_expression (&the_insn, &s);