aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-sparc.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2011-09-08 16:56:10 +0000
committerDavid S. Miller <davem@redhat.com>2011-09-08 16:56:10 +0000
commitf124dd4f3f9511447b5782d334b3c66172db7451 (patch)
treeb42546c34d29356dffb6104e699241a00968c59e /gas/config/tc-sparc.c
parentcdf492019f8253a887104489cb80647ea7308d8f (diff)
downloadgdb-f124dd4f3f9511447b5782d334b3c66172db7451.zip
gdb-f124dd4f3f9511447b5782d334b3c66172db7451.tar.gz
gdb-f124dd4f3f9511447b5782d334b3c66172db7451.tar.bz2
gas/
* config/tc-sparc.c (sparc_ip): Handle 'i' + r<0..31> in addition to 'i' + [goli]<0..7>. gas/testsuite/ * gas/sparc/imm-plus-rreg.[sd]: New test. * gas/sparc/sparc.exp: Run new test.
Diffstat (limited to 'gas/config/tc-sparc.c')
-rw-r--r--gas/config/tc-sparc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index 61808f3..be8d987 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -2408,8 +2408,10 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
{
if (s1[-2] == '%' && s1[-3] == '+')
s1 -= 3;
- else if (strchr ("goli0123456789", s1[-2]) && s1[-3] == '%' && s1[-4] == '+')
+ else if (strchr ("golir0123456789", s1[-2]) && s1[-3] == '%' && s1[-4] == '+')
s1 -= 4;
+ else if (s1[-3] == 'r' && s1[-4] == '%' && s1[-5] == '+')
+ s1 -= 5;
else
s1 = NULL;
if (s1)