* 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 5816b667c05d6dcbe6270a80e93582361005b09f..d8feb68b2797fd3c2c81d9a6a9d391622a4c15c6 100644 (file)
@@ -1,3 +1,8 @@
+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
index eeee3dc2b8ab248950ad41c44e32f2c173f614a2..8a7456ad2ff2d6338537ab9f7f4530db95d36763 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;