From ce674324e1ff425199c721d2a9db8fcc669b54bc Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 23 Sep 1999 14:30:31 +0000 Subject: [PATCH] * config/tc-hppa.c (pa_ip): Replace 'B', 'M', 'l' and 'g' handling with cleaner code using completer prefixes. Add 'Y'. --- gas/ChangeLog | 3 ++ gas/config/tc-hppa.c | 67 +++++++++++++++++++++++--------------------- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index f93c2b13f3b..c45b43c22b4 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,8 @@ Thu Sep 23 07:13:45 1999 Jerry Quinn + * 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 96ff5761d92..251ae3787dd 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); -- 2.30.2