[Bug target/68273] [5/6 Regression] Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.
bernds at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jan 27 14:29:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68273
Bernd Schmidt <bernds at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bernds at gcc dot gnu.org,
| |rsandifo at gcc dot gnu.org
--- Comment #12 from Bernd Schmidt <bernds at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #10)
> /* Advance to an even register if the argument is doubleword-aligned. */
> if (doubleword_aligned_p)
> info->reg_offset += info->reg_offset & 1;
>
> Which can be tracked back to this commit:
> commit 26bcab5a0015a5304899649081f7777d676996b8
> Author: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date: Sat Sep 25 07:42:43 2004 +0000
>
> * config/mips/mips.h (struct mips_args): Clarify comments.
> * config/mips/mips.c (struct mips_arg_info): Likewise.
> (mips_arg_info): Don't allow fpr_p to affect the register or
> stack alignment. Remove o64 silliness.
> (function_arg): Deal with the o32 float,float case specially.
>
Cc'ing Richard in case he has input.
More information about the Gcc-bugs
mailing list