From e1e571522b3ee6b66d33827415043c6ac3a094c8 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sun, 14 Jul 2013 13:11:02 +0000 Subject: 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". --- gas/ChangeLog | 4 ++++ gas/config/tc-mips.c | 10 ++++++++++ 2 files changed, 14 insertions(+) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index 10bcdda8b4..fb3e49c3d0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2013-07-14 Richard Sandiford + + * config/tc-mips.c (mips16_ip): Handle "I". + 2013-07-12 Maciej W. Rozycki * config/tc-mips.c (mips_flag_nan2008): New variable. 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); -- cgit v1.2.1