diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-14 13:15:25 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2013-07-14 13:15:25 +0000 |
commit | c82767616fd4c4901d6465b81aa03f8adffa8d98 (patch) | |
tree | 1b9ee13fd515945ff44c77807bd7e34785564a81 /gas | |
parent | 77bd43460202d21c78868083659fb2912f6466e7 (diff) | |
download | gdb-c82767616fd4c4901d6465b81aa03f8adffa8d98.zip gdb-c82767616fd4c4901d6465b81aa03f8adffa8d98.tar.gz gdb-c82767616fd4c4901d6465b81aa03f8adffa8d98.tar.bz2 |
gas/
* config/tc-mips.c (macro_build): Take an int for "C", "k", "\\"
and "~".
(macro): Update accordingly.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 43 |
2 files changed, 21 insertions, 28 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 9a66c99..8bf99f2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,11 @@ 2013-07-14 Richard Sandiford <rdsandiford@googlemail.com> + * config/tc-mips.c (macro_build): Take an int for "C", "k", "\\" + and "~". + (macro): Update accordingly. + +2013-07-14 Richard Sandiford <rdsandiford@googlemail.com> + * config/tc-mips.c (imm_expr, imm2_expr, offset_expr): Tweak commentary. (imm_reloc): Delete. (md_assemble): Remove imm_reloc handling. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index da2eeeb..125d0bd 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -5559,12 +5559,12 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...) case 'C': gas_assert (!mips_opts.micromips); - INSERT_OPERAND (0, COPZ, insn, va_arg (args, unsigned long)); + INSERT_OPERAND (0, COPZ, insn, va_arg (args, int)); continue; case 'k': INSERT_OPERAND (mips_opts.micromips, - CACHE, insn, va_arg (args, unsigned long)); + CACHE, insn, va_arg (args, int)); continue; case '|': @@ -5579,12 +5579,12 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...) case '\\': INSERT_OPERAND (mips_opts.micromips, - 3BITPOS, insn, va_arg (args, unsigned int)); + 3BITPOS, insn, va_arg (args, int)); continue; case '~': INSERT_OPERAND (mips_opts.micromips, - OFFSET12, insn, va_arg (args, unsigned long)); + OFFSET12, insn, va_arg (args, int)); continue; case 'N': @@ -8180,26 +8180,17 @@ macro (struct mips_cl_insn *ip, char *str) case M_MSGSND: gas_assert (!mips_opts.micromips); - { - unsigned long temp = (treg << 16) | (0x01); - macro_build (NULL, "c2", "C", temp); - } + macro_build (NULL, "c2", "C", (treg << 16) | 0x01); break; case M_MSGLD: gas_assert (!mips_opts.micromips); - { - unsigned long temp = (0x02); - macro_build (NULL, "c2", "C", temp); - } + macro_build (NULL, "c2", "C", 0x02); break; case M_MSGLD_T: gas_assert (!mips_opts.micromips); - { - unsigned long temp = (treg << 16) | (0x02); - macro_build (NULL, "c2", "C", temp); - } + macro_build (NULL, "c2", "C", (treg << 16) | 0x02); break; case M_MSGWAIT: @@ -8209,10 +8200,7 @@ macro (struct mips_cl_insn *ip, char *str) case M_MSGWAIT_T: gas_assert (!mips_opts.micromips); - { - unsigned long temp = (treg << 16) | 0x03; - macro_build (NULL, "c2", "C", temp); - } + macro_build (NULL, "c2", "C", (treg << 16) | 0x03); break; case M_J_A: @@ -8834,7 +8822,7 @@ macro (struct mips_cl_insn *ip, char *str) macro_build (NULL, s, fmt, treg, breg); else macro_build (NULL, s, fmt, treg, - (unsigned long) offset_expr.X_add_number, breg); + (int) offset_expr.X_add_number, breg); } else { @@ -8846,7 +8834,7 @@ macro (struct mips_cl_insn *ip, char *str) if (offbits == 0) macro_build (NULL, s, fmt, treg, tempreg); else - macro_build (NULL, s, fmt, treg, 0L, tempreg); + macro_build (NULL, s, fmt, treg, 0, tempreg); } break; } @@ -8893,7 +8881,7 @@ macro (struct mips_cl_insn *ip, char *str) macro_build (&offset_expr, s, fmt, treg, BFD_RELOC_LO16, tempreg); else macro_build (NULL, s, fmt, treg, - (unsigned long) offset_expr.X_add_number, tempreg); + (int) offset_expr.X_add_number, tempreg); } else if (offbits != 16) { @@ -8907,7 +8895,7 @@ macro (struct mips_cl_insn *ip, char *str) if (offbits == 0) macro_build (NULL, s, fmt, treg, tempreg); else - macro_build (NULL, s, fmt, treg, 0L, tempreg); + macro_build (NULL, s, fmt, treg, 0, tempreg); } else if (mips_pic == NO_PIC) { @@ -9763,7 +9751,7 @@ macro (struct mips_cl_insn *ip, char *str) gas_assert (!mips_opts.micromips); /* For now we just do C (same as Cz). The parameter will be stored in insn_opcode by mips_ip. */ - macro_build (NULL, s, "C", ip->insn_opcode); + macro_build (NULL, s, "C", (int) ip->insn_opcode); break; case M_MOVE: @@ -10462,8 +10450,7 @@ macro (struct mips_cl_insn *ip, char *str) if (!target_big_endian) ep->X_add_number += off; if (offbits == 12) - macro_build (NULL, s, "t,~(b)", - tempreg, (unsigned long) ep->X_add_number, breg); + macro_build (NULL, s, "t,~(b)", tempreg, (int) ep->X_add_number, breg); else macro_build (ep, s, "t,o(b)", tempreg, -1, offset_reloc[0], offset_reloc[1], offset_reloc[2], breg); @@ -10474,7 +10461,7 @@ macro (struct mips_cl_insn *ip, char *str) ep->X_add_number += off; if (offbits == 12) macro_build (NULL, s2, "t,~(b)", - tempreg, (unsigned long) ep->X_add_number, breg); + tempreg, (int) ep->X_add_number, breg); else macro_build (ep, s2, "t,o(b)", tempreg, -1, offset_reloc[0], offset_reloc[1], offset_reloc[2], breg); |