[Bug middle-end/84877] Local stack copy of BLKmode parameter on the stack is not aligned when the requested alignment exceeds MAX_SUPPORTED_STACK_ALIGNMENT

amylaar at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Jul 7 23:28:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84877

--- Comment #13 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> ---
(In reply to Hans-Peter Nilsson from comment #12)
> (In reply to Jorn Wolfgang Rennecke from comment #10)
> > Created attachment 46567 [details]
> > Fix for targets that pass the argument by invisible reference
> 
> Thanks for your efforts.  This *may* have affected the code generated by
> gcc.dg/pr84877.c; that test now passes, but that's unreliable as I've seen
> the outcome depends on random stack alignment of the context, and my
> baseline is from a context different enough.  I believe inspecting the
> generated code isn't of much interest given David Anglin's observations for
> hppa and...
> 
> However, it introduces these regressions:
> +gcc.sum gcc.dg/pr80286.c
> +gcc.sum gcc.dg/torture/pr78542.c
> +gcc.sum gcc.dg/torture/pr86363.c
> +gcc.sum gcc.dg/torture/va-arg-25.c

I tried if I could reproduce this with a cross-compiler built for
--target=hppa-linux-gnu; the va-arg-25.c test case needs headers, but the
others can be
compiled just using xgcc & cc1.  I tried with the options in dg-options,
and for pr78542.c / pr86363.c I also tried additional -O options.
However, I don't see any ICE.  Is there a special configuration or set of
options needed, or is this just impossible with a cross compiler?


More information about the Gcc-bugs mailing list