diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-14 13:11:03 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-14 13:11:03 +0000 |
commit | cc537e567a207d4d5a78e2438d9d459b2ae55428 (patch) | |
tree | d29ac5325a000a7cb26a309ffe28b2c9a8999531 /gas/config/tc-mips.c | |
parent | 7a5f87ce9bd0d5facacd10424c26deb0af041630 (diff) | |
download | gdb-cc537e567a207d4d5a78e2438d9d459b2ae55428.zip gdb-cc537e567a207d4d5a78e2438d9d459b2ae55428.tar.gz gdb-cc537e567a207d4d5a78e2438d9d459b2ae55428.tar.bz2 |
include/opcode/
* mips.h: Document MIPS16 "I" opcode.
opcodes/
* mips16-opc.c (mips16_opcodes): Use "I" for immediate operands
in macros.
gas/
* config/tc-mips.c (mips16_ip): Handle "I".
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r-- | gas/config/tc-mips.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 7fb870e..ef5c466 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -14223,6 +14223,16 @@ mips16_ip (char *str, struct mips_cl_insn *ip) s = expr_end; continue; + case 'I': + my_getExpression (&imm_expr, s); + if (imm_expr.X_op != O_big + && imm_expr.X_op != O_constant) + insn_error = _("absolute expression required"); + if (HAVE_32BIT_GPRS) + normalize_constant_expr (&imm_expr); + s = expr_end; + continue; + case 'a': /* 26 bit address */ case 'i': my_getExpression (&offset_expr, s); |