From: Richard Henderson Date: Tue, 1 Jan 2002 00:23:22 +0000 (-0800) Subject: * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS. X-Git-Tag: prereleases/libstdc++-3.0.96~774 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=f95e79cc11bd75adb2847b95d575a4f7fd3e14c8;p=gcc.git * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS. From-SVN: r48437 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5253f2483918..7502386aa0c2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-12-31 Richard Henderson + + * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS. + 2001-12-31 Richard Henderson * regrename.c (build_def_use): Don't rename asm operands that diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 133a2678485e..afe30063c5e4 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -1377,7 +1377,11 @@ mark_reg_gr_used_mask (reg, data) { unsigned int regno = REGNO (reg); if (regno < 32) - current_frame_info.gr_used_mask |= 1 << regno; + { + unsigned int i, n = HARD_REGNO_NREGS (regno, GET_MODE (reg)); + for (i = 0; i < n; ++i) + current_frame_info.gr_used_mask |= 1 << (regno + i); + } } /* Returns the number of bytes offset between the frame pointer and the stack