March 11, 2002 Re: Alignment | ||||
---|---|---|---|---|
| ||||
Hi, Walter! Do I understand alignment settings right? If I specify -a8, then: BYTE (char) will not be aligned (it is useless) WORD(short int) will be aligned on 2-byte boundary DWORD(long int) will be aligned on 4-byte boundary QWORD(double) will be aligned on 8-byte boundary Is that right? (double) alignment is the only difference between -a4 and -a8 , isn't it? And what happens with alignment when parameters are placed onto stack for function call? And, by the way, is the stack initially aligned on 16-byte boundary? Intel recommends doing so for optimal performance. Looking forward for your answer, Nic Tiger. |
March 11, 2002 Re: Alignment | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nic Tiger | "Nic Tiger" <nictiger@pt.comcor.ru> wrote in message news:a6hssi$13jc$1@digitaldaemon.com... > Do I understand alignment settings right? > If I specify -a8, then: > BYTE (char) will not be aligned (it is useless) > WORD(short int) will be aligned on 2-byte boundary > DWORD(long int) will be aligned on 4-byte boundary > QWORD(double) will be aligned on 8-byte boundary > > Is that right? (double) alignment is the only difference between -a4 and -a8 > , isn't it? Yes, yes. > And what happens with alignment when parameters are placed onto stack for function call? They are 4 byte aligned in 8.26 and earlier, 8 byte aligned for 8.27 (the beta version is available for download). > And, by the way, is the stack initially aligned on 16-byte boundary? Intel recommends doing so for optimal performance. Not at the moment. I should probably fix that. |
Copyright © 1999-2021 by the D Language Foundation