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.
This commit is contained in:
Richard Sandiford
2013-08-19 19:56:44 +00:00
parent 5e0dc5bae9
commit e423441da4
4 changed files with 17 additions and 25 deletions

View File

@ -1,3 +1,8 @@
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> 2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (report_bad_range, report_bad_field): Delete. * config/tc-mips.c (report_bad_range, report_bad_field): Delete.

View File

@ -1762,11 +1762,10 @@ mips_mark_labels (void)
static char *expr_end; static char *expr_end;
/* Expressions which appear in macro instructions. These are set by /* An expression in a macro instruction. This is set by mips_ip and
mips_ip and read by macro. */ mips16_ip. */
static expressionS imm_expr; static expressionS imm_expr;
static expressionS imm2_expr;
/* The relocatable field in an instruction and the relocs associated /* The relocatable field in an instruction and the relocs associated
with it. These variables are used for instructions like LUI and 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}; = {BFD_RELOC_UNUSED, BFD_RELOC_UNUSED, BFD_RELOC_UNUSED};
imm_expr.X_op = O_absent; imm_expr.X_op = O_absent;
imm2_expr.X_op = O_absent;
offset_expr.X_op = O_absent; offset_expr.X_op = O_absent;
offset_reloc[0] = BFD_RELOC_UNUSED; offset_reloc[0] = BFD_RELOC_UNUSED;
offset_reloc[1] = 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; char c;
imm_expr.X_op = O_absent; imm_expr.X_op = O_absent;
imm2_expr.X_op = O_absent;
offset_expr.X_op = O_absent; offset_expr.X_op = O_absent;
offset_reloc[0] = BFD_RELOC_UNUSED; offset_reloc[0] = BFD_RELOC_UNUSED;
offset_reloc[1] = 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 '+': case '+':
switch (args[1]) 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': case 'i':
*offset_reloc = BFD_RELOC_MIPS_JMP; *offset_reloc = BFD_RELOC_MIPS_JMP;
break; break;
@ -7260,7 +7247,6 @@ match_mips16_insn (struct mips_cl_insn *insn, const struct mips_opcode *opcode,
create_insn (insn, opcode); create_insn (insn, opcode);
imm_expr.X_op = O_absent; imm_expr.X_op = O_absent;
imm2_expr.X_op = O_absent;
offset_expr.X_op = O_absent; offset_expr.X_op = O_absent;
offset_reloc[0] = BFD_RELOC_UNUSED; offset_reloc[0] = BFD_RELOC_UNUSED;
offset_reloc[1] = 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 /* Assemble an instruction into its binary format. If the instruction
is a macro, set imm_expr, imm2_expr and offset_expr to the values is a macro, set imm_expr and offset_expr to the values associated
associated with "I", "+I" and "A" operands respectively. Otherwise with "I" and "A" operands respectively. Otherwise store the value
store the value of the relocatable field (if any) in offset_expr. of the relocatable field (if any) in offset_expr. In both cases
In both cases set offset_reloc to the relocation operators applied set offset_reloc to the relocation operators applied to offset_expr. */
to offset_expr. */
static void static void
mips_ip (char *str, struct mips_cl_insn *insn) mips_ip (char *str, struct mips_cl_insn *insn)

View File

@ -1,3 +1,7 @@
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> 2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
* mips.h (M_DEXT, M_DINS): Delete. * mips.h (M_DEXT, M_DINS): Delete.

View File

@ -799,7 +799,6 @@ struct mips_opcode
Macro instructions: Macro instructions:
"A" General 32 bit expression "A" General 32 bit expression
"I" 32 bit immediate (value placed in imm_expr). "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 "F" 64 bit floating point constant in .rdata
"L" 64 bit floating point constant in .lit8 "L" 64 bit floating point constant in .lit8
"f" 32 bit floating point constant "f" 32 bit floating point constant
@ -906,7 +905,7 @@ struct mips_opcode
Extension character sequences used so far ("+" followed by the Extension character sequences used so far ("+" followed by the
following), for quick reference when adding more: following), for quick reference when adding more:
"1234567890" "1234567890"
"ABCEFGHIJKLMNPQSXZ" "ABCEFGHJKLMNPQSXZ"
"abcfgijmpqrstxyz" "abcfgijmpqrstxyz"
*/ */
@ -2025,7 +2024,6 @@ extern const int bfd_mips16_num_opcodes;
Macro instructions: Macro instructions:
"A" general 32 bit expression "A" general 32 bit expression
"I" 32-bit immediate (value placed in imm_expr). "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 "F" 64-bit floating point constant in .rdata
"L" 64-bit floating point constant in .lit8 "L" 64-bit floating point constant in .lit8
"f" 32-bit floating point constant "f" 32-bit floating point constant
@ -2062,7 +2060,7 @@ extern const int bfd_mips16_num_opcodes;
following), for quick reference when adding more: following), for quick reference when adding more:
"" ""
"" ""
"ABCEFGHI" "ABCEFGH"
"ij" "ij"
Extension character sequences used so far ("m" followed by the Extension character sequences used so far ("m" followed by the