diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 27 | ||||
-rw-r--r-- | include/opcode/ChangeLog | 4 | ||||
-rw-r--r-- | include/opcode/mips.h | 6 |
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 |