Walter Bright: > I'm painfully aware that align(8)/(16) don't work on the 32 bit targets. I've > been reluctant to fix that because it involves some performance degradation > (keeping the stack so aligned requires the insertion of stack adjustment > instructions here and there).
On the other hand stack-allocated structs and arrays that need to be 16-byte aligned may speed up the code if used with certain SSE+ instructions. If it is something that must be used for the whole program then you may add a compiler switch to activate stack alignment on request. If it may work for a single compilation unit then use something like: align(16) module foobar; If it may work for a single function, then then you may add the alignment for functions: align(16) int foo(int x) {... Bye, bearophile