From fe35f09f47706967f1ccc7c29b6b07823b8d36c6 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 4 Jul 2011 20:22:52 +0000 Subject: [PATCH] gas/ * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Fix handling of register 0. --- gas/ChangeLog | 5 +++++ gas/config/tc-mips.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 8bc4f507988..9c0ded14b7b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2011-07-04 Richard Sandiford + + * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Fix handling + of register 0. + 2011-07-04 Maciej W. Rozycki * config/tc-mips.c (append_insn): Make sure DWARF-2 location diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 2b3e4dcbb76..bcb1822229a 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -2450,7 +2450,8 @@ gpr_read_mask (const struct mips_cl_insn *ip) if (pinfo2 & INSN2_READ_GPR_Z) mask |= 1 << EXTRACT_OPERAND (RZ, *ip); } - return mask & ~0; + /* Don't include register 0. */ + return mask & ~1; } /* Return the mask of core registers that IP writes. */ @@ -2492,7 +2493,8 @@ gpr_write_mask (const struct mips_cl_insn *ip) if (pinfo2 & INSN2_WRITE_GPR_Z) mask |= 1 << EXTRACT_OPERAND (RZ, *ip); } - return mask & ~0; + /* Don't include register 0. */ + return mask & ~1; } /* Return the mask of floating-point registers that IP reads. */ -- 2.30.2