From e423441da4b1bb1559936ac8b6aa54447e1a96ec Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 19 Aug 2013 19:56:44 +0000 Subject: [PATCH] include/opcode/ * mips.h: Remove references to "+I" and imm2_expr. gas/ * config/tc-mips.c (imm2_expr): Delete. (md_assemble, match_insn, imm2_expr.X_op, mips_ip): Update accordingly. --- gas/ChangeLog | 5 +++++ gas/config/tc-mips.c | 27 ++++++--------------------- include/opcode/ChangeLog | 4 ++++ include/opcode/mips.h | 6 ++---- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index e5e34a69d4..87c4013bf3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2013-08-19 Richard Sandiford + + * config/tc-mips.c (imm2_expr): Delete. + (md_assemble, match_insn, imm2_expr.X_op, mips_ip): Update accordingly. + 2013-08-19 Richard Sandiford * config/tc-mips.c (report_bad_range, report_bad_field): Delete. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index f2c676878a..a98e443ffe 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 bacadb0eaa..e842f5da21 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,7 @@ +2013-08-19 Richard Sandiford + + * mips.h: Remove references to "+I" and imm2_expr. + 2013-08-19 Richard Sandiford * mips.h (M_DEXT, M_DINS): Delete. diff --git a/include/opcode/mips.h b/include/opcode/mips.h index c768cf255f..f21697ec49 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 -- 2.34.1