summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index a9f584bc0dc..f3e8a4c998b 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -3227,7 +3227,8 @@ peep2_find_free_register (int from, int to, const char *class_str,
break;
}
/* And that we don't create an extra save/restore. */
- if (! call_used_regs[regno + j] && ! df_regs_ever_live_p (regno + j))
+ if (! call_used_or_fixed_reg_p (regno + j)
+ && ! df_regs_ever_live_p (regno + j))
{
success = 0;
break;