From c7dbc54958321d296ca4e283f26f279f6a5342a7 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sat, 29 Feb 2020 13:45:37 -0700 Subject: [PATCH] Make STATIC_CHAIN_REGNUM a call used register. * config/v850/v850.h (STATIC_CHAIN_REGNUM): Change to r19. * config/v850/v850.c (v850_asm_trampoline_template): Update accordingly. --- gcc/ChangeLog | 6 ++++++ gcc/config/v850/v850.c | 2 +- gcc/config/v850/v850.h | 5 +++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7d95db8623f..2a69c680a9b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-02-28 Jeff Law + + * config/v850/v850.h (STATIC_CHAIN_REGNUM): Change to r19. + * config/v850/v850.c (v850_asm_trampoline_template): Update + accordingly. + 2020-02-28 Michael Meissner PR target/93937 diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c index 074adf87687..4b0e28c1786 100644 --- a/gcc/config/v850/v850.c +++ b/gcc/config/v850/v850.c @@ -2961,7 +2961,7 @@ static void v850_asm_trampoline_template (FILE *f) { fprintf (f, "\tjarl .+4,r12\n"); - fprintf (f, "\tld.w 12[r12],r20\n"); + fprintf (f, "\tld.w 12[r12],r19\n"); fprintf (f, "\tld.w 16[r12],r12\n"); fprintf (f, "\tjmp [r12]\n"); fprintf (f, "\tnop\n"); diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h index 823bc5e17e3..7ae583c7df2 100644 --- a/gcc/config/v850/v850.h +++ b/gcc/config/v850/v850.h @@ -438,8 +438,9 @@ enum reg_class /* Base register for access to arguments of the function. */ #define ARG_POINTER_REGNUM 35 -/* Register in which static-chain is passed to a function. */ -#define STATIC_CHAIN_REGNUM 20 +/* Register in which static-chain is passed to a function. + This must be a call used register. */ +#define STATIC_CHAIN_REGNUM 19 /* If defined, this macro specifies a table of register pairs used to eliminate unneeded registers that point into the stack frame. If -- 2.30.2