On Tue, Jun 09, 2020 at 08:54:47AM -0600, Jeff Law via Gcc-patches wrote:
> > While technically OK the issue is that it does not solve the x86 issue
> > which with incoming stack alignment < 8 bytes does not perform
> > dynamic re-alignment to align 'long long' variables appropriately.
> > Currently the x86 backend thinks it can fixup by lowering alignment
> > via LOCAL_DECL_ALIGNMENT but this is a latent wrong-code issue
> > because the larger alignment is present in the IL for a long (previously
> > RTL expansion, now adjust-aligment) time and your patch makes that
> > wrong info last forever (or alternatively cause dynamic stack alignment
> > which we do _not_ want to perform here).
> I've never looked at the dynamic realignment stuff -- is there a good reason 
> why
> we don't dynamically realign when we've got a local with a requested 
> alignment? 
> Isn't that a huge oversight in the whole concept of dynamic realignment?

It is quite expensive and long long/double uses are pervasive, so we don't
want to realign just because of that.  If we do dynamic realignment for
other reasons, there is no reason not to align the long long/double
properly.

        Jakub

Reply via email to