* config/tc-mips.c (macro): Use EXTRACT_OPERAND to get register
authorMaciej W. Rozycki <macro@linux-mips.org>
Thu, 9 Dec 2010 22:17:27 +0000 (22:17 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Thu, 9 Dec 2010 22:17:27 +0000 (22:17 +0000)
numbers.

gas/ChangeLog
gas/config/tc-mips.c

index 5816b66..d8feb68 100644 (file)
@@ -1,5 +1,10 @@
 2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
 
+       * config/tc-mips.c (macro): Use EXTRACT_OPERAND to get register
+       numbers.
+
+2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
        * config/tc-mips.c (macro): Replace 0 with ZERO in macro_build
        and move_register calls referring to $0.
 
index eeee3dc..8a7456a 100644 (file)
@@ -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;