aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2013-07-14 13:15:25 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2013-07-14 13:15:25 +0000
commitc82767616fd4c4901d6465b81aa03f8adffa8d98 (patch)
tree1b9ee13fd515945ff44c77807bd7e34785564a81 /gas
parent77bd43460202d21c78868083659fb2912f6466e7 (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gas/config/tc-mips.c43
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);