diff options
author | David S. Miller <davem@redhat.com> | 2011-09-08 16:56:10 +0000 |
---|---|---|
committer | David S. Miller <davem@redhat.com> | 2011-09-08 16:56:10 +0000 |
commit | f124dd4f3f9511447b5782d334b3c66172db7451 (patch) | |
tree | b42546c34d29356dffb6104e699241a00968c59e /gas/config/tc-sparc.c | |
parent | cdf492019f8253a887104489cb80647ea7308d8f (diff) | |
download | gdb-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.c | 4 |
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) |