diff options
author | Richard Sandiford <rsandifo@nildram.co.uk> | 2013-07-14 13:11:02 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@nildram.co.uk> | 2013-07-14 13:11:02 +0000 |
commit | e1e571522b3ee6b66d33827415043c6ac3a094c8 (patch) | |
tree | 7ca95c7c831fdce38340c2d093cee342720af290 /gas/config | |
parent | 524bd8ed975316bccf6c145e98ca9695c77735f8 (diff) | |
download | binutils-redhat-e1e571522b3ee6b66d33827415043c6ac3a094c8.tar.gz |
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')
-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 7fb870eaed..ef5c466e6e 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); |