From: Richard Kenner Date: Mon, 4 Oct 1993 21:47:19 +0000 (-0400) Subject: (incoming_regs): Only use 16 registers for parameter passing. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=af68829613cdfc26263726f069c9bdb9bd5773e7;p=gcc.git (incoming_regs): Only use 16 registers for parameter passing. From-SVN: r5591 --- diff --git a/gcc/config/a29k/a29k.c b/gcc/config/a29k/a29k.c index 7d6e9c0dd91..631176134af 100644 --- a/gcc/config/a29k/a29k.c +++ b/gcc/config/a29k/a29k.c @@ -772,9 +772,14 @@ incoming_reg (start, count) { int i; + /* We only use 16 argument registers, so truncate at the end of the + area. */ + if (start + count > 16) + count = 16 - start; + if (! TARGET_NO_REUSE_ARGS) /* Mark all the used registers as not fixed and saved over calls. */ - for (i = R_AR (start); i < R_AR (16) && i < R_AR (start + count); i++) + for (i = R_AR (start); i < R_AR (start + count); i++) { fixed_regs[i] = call_used_regs[i] = call_fixed_regs[i] = 0; CLEAR_HARD_REG_BIT (fixed_reg_set, i);