summaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2002-05-31 01:58:18 +0000
committerThiemo Seufer <ths@networkno.de>2002-05-31 01:58:18 +0000
commit76db943db2364bb439e86bdf13d4957a6de96efc (patch)
treedd978d1437e6badbf660d223e97016e540f9d27e /gas
parentde888f764ce7389c4457dfde6e4f03ee4daa8c44 (diff)
downloadbinutils-76db943db2364bb439e86bdf13d4957a6de96efc.tar.gz
binutils-76db943db2364bb439e86bdf13d4957a6de96efc.tar.bz2
binutils-76db943db2364bb439e86bdf13d4957a6de96efc.zip
* config/tc-mips.c (md_begin): Add $ra as alias name for $31.
(mips_ip): Likewise. (mips16_ip): Likewise. (tc_get_register): Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-mips.c20
2 files changed, 24 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3c281f82d88..7866b0c3526 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2002-05-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (md_begin): Add $ra as alias name for $31.
+ (mips_ip): Likewise.
+ (mips16_ip): Likewise.
+ (tc_get_register): Likewise.
+
2002-05-30 Chris G. Demetriou <cgd@broadcom.com>
Ed Satterthwaite <ehs@broadcom.com>
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index c742089679e..8c6a2191692 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -1337,6 +1337,8 @@ md_begin ()
symbol_table_insert (symbol_new (buf, reg_section, i,
&zero_address_frag));
}
+ symbol_table_insert (symbol_new ("$ra", reg_section, RA,
+ &zero_address_frag));
symbol_table_insert (symbol_new ("$fp", reg_section, FP,
&zero_address_frag));
symbol_table_insert (symbol_new ("$sp", reg_section, SP,
@@ -8194,7 +8196,12 @@ mips_ip (str, ip)
goto notreg;
else
{
- if (s[1] == 'f' && s[2] == 'p')
+ if (s[1] == 'r' && s[2] == 'a')
+ {
+ s += 3;
+ regno = RA;
+ }
+ else if (s[1] == 'f' && s[2] == 'p')
{
s += 3;
regno = FP;
@@ -9147,7 +9154,12 @@ mips16_ip (str, ip)
}
else
{
- if (s[1] == 'f' && s[2] == 'p')
+ if (s[1] == 'r' && s[2] == 'a')
+ {
+ s += 3;
+ regno = RA;
+ }
+ else if (s[1] == 'f' && s[2] == 'p')
{
s += 3;
regno = FP;
@@ -12202,7 +12214,9 @@ tc_get_register (frame)
}
else
{
- if (strncmp (input_line_pointer, "fp", 2) == 0)
+ if (strncmp (input_line_pointer, "ra", 2) == 0)
+ reg = RA;
+ else if (strncmp (input_line_pointer, "fp", 2) == 0)
reg = FP;
else if (strncmp (input_line_pointer, "sp", 2) == 0)
reg = SP;