> 
> -malign-double is (was?) indeed a performance improvement for
> numerical applications on 32bits.  But DImode is still not 8 bytes aligned
> there (which makes a next-gen 32bit ABI for 64bit x86 difficult there,
> if you want to retain DImode/DFmode 8 byte alignment and re-use the
> kernel 32bit compatibility layer).

Perhaps it was intended for numerical applications, but it is
implemented by increasing maximal alignment that affect long long too.

main()
{
         struct a{int a;
                 long long b;
                 };
         printf("%i\n",sizeof (struct a));
}
[EMAIL PROTECTED]:/aux/hubicka$ gcc t.c
[EMAIL PROTECTED]:/aux/hubicka$ ./a.out
12
[EMAIL PROTECTED]:/aux/hubicka$ gcc t.c -malign-double
[EMAIL PROTECTED]:/aux/hubicka$ ./a.out
16
[EMAIL PROTECTED]:/aux/hubicka$ 

I think H. J. hit it with this auto alignment branch and I would say
that decreasing DImode alignment there to avoid long long triggering the
prologue is good thing to do.

Honza
> 
> Richard.

Reply via email to