From f95e79cc11bd75adb2847b95d575a4f7fd3e14c8 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 31 Dec 2001 16:23:22 -0800 Subject: [PATCH] * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS. From-SVN: r48437 --- gcc/ChangeLog | 4 ++++ gcc/config/ia64/ia64.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5253f248391..7502386aa0c 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 133a2678485..afe30063c5e 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 -- 2.30.2