aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1999-09-23 14:30:31 +0000
committerJeff Law <law@redhat.com>1999-09-23 14:30:31 +0000
commitce674324e1ff425199c721d2a9db8fcc669b54bc (patch)
tree88d93d6d4cbd54b1eed468d033e623087c529d91
parent390f858d11e5bc4b4cfe322e08d1ea3ae1dc435b (diff)
downloadgdb-ce674324e1ff425199c721d2a9db8fcc669b54bc.zip
gdb-ce674324e1ff425199c721d2a9db8fcc669b54bc.tar.gz
gdb-ce674324e1ff425199c721d2a9db8fcc669b54bc.tar.bz2
* config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling
with cleaner code using completer prefixes. Add 'Y'.
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-hppa.c67
2 files changed, 38 insertions, 32 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f93c2b1..c45b43c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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)
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 96ff576..251ae37 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -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);