aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c27
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/mips.h6
4 files changed, 17 insertions, 25 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e5e34a6..87c4013 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
+ * config/tc-mips.c (imm2_expr): Delete.
+ (md_assemble, match_insn, imm2_expr.X_op, mips_ip): Update accordingly.
+
+2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
+
* config/tc-mips.c (report_bad_range, report_bad_field): Delete.
(macro): Remove M_DEXT and M_DINS handling.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index f2c6768..a98e443 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -1762,11 +1762,10 @@ mips_mark_labels (void)
static char *expr_end;
-/* Expressions which appear in macro instructions. These are set by
- mips_ip and read by macro. */
+/* An expression in a macro instruction. This is set by mips_ip and
+ mips16_ip. */
static expressionS imm_expr;
-static expressionS imm2_expr;
/* The relocatable field in an instruction and the relocs associated
with it. These variables are used for instructions like LUI and
@@ -3584,7 +3583,6 @@ md_assemble (char *str)
= {BFD_RELOC_UNUSED, BFD_RELOC_UNUSED, BFD_RELOC_UNUSED};
imm_expr.X_op = O_absent;
- imm2_expr.X_op = O_absent;
offset_expr.X_op = O_absent;
offset_reloc[0] = BFD_RELOC_UNUSED;
offset_reloc[1] = BFD_RELOC_UNUSED;
@@ -7024,7 +7022,6 @@ match_insn (struct mips_cl_insn *insn, const struct mips_opcode *opcode,
char c;
imm_expr.X_op = O_absent;
- imm2_expr.X_op = O_absent;
offset_expr.X_op = O_absent;
offset_reloc[0] = BFD_RELOC_UNUSED;
offset_reloc[1] = BFD_RELOC_UNUSED;
@@ -7129,16 +7126,6 @@ match_insn (struct mips_cl_insn *insn, const struct mips_opcode *opcode,
case '+':
switch (args[1])
{
- case 'I':
- /* "+I" is like "I", except that imm2_expr is used. */
- if (!match_const_int (&arg, &imm2_expr.X_add_number))
- return FALSE;
- imm2_expr.X_op = O_constant;
- if (HAVE_32BIT_GPRS)
- normalize_constant_expr (&imm2_expr);
- ++args;
- continue;
-
case 'i':
*offset_reloc = BFD_RELOC_MIPS_JMP;
break;
@@ -7260,7 +7247,6 @@ match_mips16_insn (struct mips_cl_insn *insn, const struct mips_opcode *opcode,
create_insn (insn, opcode);
imm_expr.X_op = O_absent;
- imm2_expr.X_op = O_absent;
offset_expr.X_op = O_absent;
offset_reloc[0] = BFD_RELOC_UNUSED;
offset_reloc[1] = BFD_RELOC_UNUSED;
@@ -12933,11 +12919,10 @@ mips_lookup_insn (struct hash_control *hash, const char *start,
}
/* Assemble an instruction into its binary format. If the instruction
- is a macro, set imm_expr, imm2_expr and offset_expr to the values
- associated with "I", "+I" and "A" operands respectively. Otherwise
- store the value of the relocatable field (if any) in offset_expr.
- In both cases set offset_reloc to the relocation operators applied
- to offset_expr. */
+ is a macro, set imm_expr and offset_expr to the values associated
+ with "I" and "A" operands respectively. Otherwise store the value
+ of the relocatable field (if any) in offset_expr. In both cases
+ set offset_reloc to the relocation operators applied to offset_expr. */
static void
mips_ip (char *str, struct mips_cl_insn *insn)
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index bacadb0..e842f5d 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,5 +1,9 @@
2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
+ * mips.h: Remove references to "+I" and imm2_expr.
+
+2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
+
* mips.h (M_DEXT, M_DINS): Delete.
2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index c768cf2..f21697e 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -799,7 +799,6 @@ struct mips_opcode
Macro instructions:
"A" General 32 bit expression
"I" 32 bit immediate (value placed in imm_expr).
- "+I" 32 bit immediate (value placed in imm2_expr).
"F" 64 bit floating point constant in .rdata
"L" 64 bit floating point constant in .lit8
"f" 32 bit floating point constant
@@ -906,7 +905,7 @@ struct mips_opcode
Extension character sequences used so far ("+" followed by the
following), for quick reference when adding more:
"1234567890"
- "ABCEFGHIJKLMNPQSXZ"
+ "ABCEFGHJKLMNPQSXZ"
"abcfgijmpqrstxyz"
*/
@@ -2025,7 +2024,6 @@ extern const int bfd_mips16_num_opcodes;
Macro instructions:
"A" general 32 bit expression
"I" 32-bit immediate (value placed in imm_expr).
- "+I" 32-bit immediate (value placed in imm2_expr).
"F" 64-bit floating point constant in .rdata
"L" 64-bit floating point constant in .lit8
"f" 32-bit floating point constant
@@ -2062,7 +2060,7 @@ extern const int bfd_mips16_num_opcodes;
following), for quick reference when adding more:
""
""
- "ABCEFGHI"
+ "ABCEFGH"
"ij"
Extension character sequences used so far ("m" followed by the