From bbea7ebcc5c5ef8102fe45775c95cba5b854d4c1 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Thu, 9 Dec 2010 22:17:27 +0000 Subject: [PATCH] * config/tc-mips.c (macro): Use EXTRACT_OPERAND to get register numbers. --- gas/ChangeLog | 5 +++++ gas/config/tc-mips.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 5816b667c0..d8feb68b27 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2010-12-09 Maciej W. Rozycki + + * config/tc-mips.c (macro): Use EXTRACT_OPERAND to get register + numbers. + 2010-12-09 Maciej W. Rozycki * config/tc-mips.c (macro): Replace 0 with ZERO in macro_build diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index eeee3dc2b8..8a7456ad2f 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -4823,9 +4823,9 @@ macro (struct mips_cl_insn *ip) gas_assert (! mips_opts.mips16); - treg = (ip->insn_opcode >> 16) & 0x1f; - dreg = (ip->insn_opcode >> 11) & 0x1f; - sreg = breg = (ip->insn_opcode >> 21) & 0x1f; + treg = EXTRACT_OPERAND (RT, *ip); + dreg = EXTRACT_OPERAND (RD, *ip); + sreg = breg = EXTRACT_OPERAND (RS, *ip); mask = ip->insn_mo->mask; expr1.X_op = O_constant;