diff options
author | Ian Lance Taylor <ian@airs.com> | 1997-02-12 20:43:15 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1997-02-12 20:43:15 +0000 |
commit | 56bb6eeef778dc297ae3875ad841ffe7c9f296a3 (patch) | |
tree | 246d05fd70e457d9d6818012c0f0de4597c7d134 /gas | |
parent | eb17f56cf52b7f9e6974b1de6017db2d99fe5d4f (diff) | |
download | gdb-56bb6eeef778dc297ae3875ad841ffe7c9f296a3.zip gdb-56bb6eeef778dc297ae3875ad841ffe7c9f296a3.tar.gz gdb-56bb6eeef778dc297ae3875ad841ffe7c9f296a3.tar.bz2 |
* config/tc-mips.c (mips16_ip): Handle an extend operand.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 2 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index a9b7c4c..d350f7b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,7 @@ Wed Feb 12 14:36:29 1997 Ian Lance Taylor <ian@cygnus.com> + * config/tc-mips.c (mips16_ip): Handle an extend operand. + * config/tc-mips.c (my_getExpression): In mips16 mode, if it looks like the expression was based on `.', adjust the value of the symbol. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index c3ced95..f80cfcd 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -7396,6 +7396,21 @@ mips16_ip (str, ip) } continue; + case 'e': /* extend code */ + my_getExpression (&imm_expr, s); + check_absolute_expr (ip, &imm_expr); + if ((unsigned long) imm_expr.X_add_number > 0x7ff) + { + as_warn ("Invalid value for `%s' (%lu)", + ip->insn_mo->name, + (unsigned long) imm_expr.X_add_number); + imm_expr.X_add_number &= 0x7ff; + } + ip->insn_opcode |= imm_expr.X_add_number; + imm_expr.X_op = O_absent; + s = expr_end; + continue; + default: internalError (); } |