summaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2013-07-14 13:11:02 +0000
committerRichard Sandiford <rsandifo@nildram.co.uk>2013-07-14 13:11:02 +0000
commite1e571522b3ee6b66d33827415043c6ac3a094c8 (patch)
tree7ca95c7c831fdce38340c2d093cee342720af290 /gas
parent524bd8ed975316bccf6c145e98ca9695c77735f8 (diff)
downloadbinutils-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')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-mips.c10
2 files changed, 14 insertions, 0 deletions
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 <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (mips16_ip): Handle "I".
+
2013-07-12 Maciej W. Rozycki <macro@codesourcery.com>
* 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);