This is the mail archive of the
mailing list for the GCC project.
Re: [RS6000] Fix for PR57865, _savegpr64 breakage on spe
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, Alan Modra <amodra at gmail dot com>
- Date: Mon, 19 Aug 2013 09:13:19 -0400
- Subject: Re: [RS6000] Fix for PR57865, _savegpr64 breakage on spe
- References: <20130819042652 dot GN4024 at bubble dot grove dot modra dot org>
On Mon, Aug 19, 2013 at 12:26 AM, Alan Modra <firstname.lastname@example.org> wrote:
> When I made the following change
> -#define FIRST_SAVED_GP_REGNO 13
> +#define FIRST_SAVED_GP_REGNO (FIXED_R13 ? 14 : 13)
> in http://gcc.gnu.org/ml/gcc-patches/2012-04/msg01274.html, I checked
> all uses of FIRST_SAVED_GP_REGNO, but missed the signifigance of
> FIRST_SAVRES_REGISTER appearing in the ool_adjust calculation.
> Using FIRST_SAVRES_REGISTER in ool_adjust was not exactly the best
> choice of available constants. Why use a value that is the minimum
> over gp, fp and vector regs, when what you need is specific to gp
> regs? Fixed as follows, bootstrapped and regression tested.
> OK for mainline and 4.8?
> PR target/57865
> * config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
> (rs6000_emit_epilogue): Likewise.