summaryrefslogtreecommitdiff
path: root/gcc/caller-save.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/caller-save.c')
-rw-r--r--gcc/caller-save.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 3d1c58486f7..d534b311806 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -406,6 +406,7 @@ set_reg_live (reg, setter)
rtx reg, setter;
{
register int regno, endregno, i;
+ enum machine_mode mode = GET_MODE (reg);
int word = 0;
if (GET_CODE (reg) == SUBREG)
@@ -418,7 +419,7 @@ set_reg_live (reg, setter)
return;
regno = REGNO (reg) + word;
- endregno = regno + HARD_REGNO_NREGS (regno, GET_MODE (reg));
+ endregno = regno + HARD_REGNO_NREGS (regno, mode);
for (i = regno; i < endregno; i++)
SET_HARD_REG_BIT (hard_regs_live, i);