On 21 Feb 2012 at 10:39, VáclavSmilauer wrote:

> > Aligning to 128 bits is surely __attribute__((__aligned__(16)))?
> 
> Oops, I wrote it wrong in the title, it is 128-bytes aligned, double[16] with
> natural alignment, i.e. __attribute__((aligned(128))).
> 
> Thanks for comments, I will try to put it into the bugtracker.

128 *byte* alignment? Wow. No, no compiler will support that legally 
as it would crap all over your stack frame. I vaguely remember that 
GCC caps alignment to 40 bytes due to some supported architecture's 
stack frame being incapable of going higher.

If you're aligning to 128 bytes then you almost certainly need to 
revisit how your code is designed and what algorithms are being used. 
I can think of two occasions ever in my life where I have seen an 
alignment larger than 32 bytes being a reasonably good idea, and one 
of those was in ptmalloc2 (which masks off the bottom megabyte of 
bits as a very fast way of finding the segment for a pointer). And 
even in ptmalloc2 I am unconvinced that approach was wise due to many 
reasons unimportant to mention here.

Niall

-- 
Technology & Consulting Services - ned Productions Limited.
http://www.nedproductions.biz/. VAT reg: IE 9708311Q. Company no: 
472909.



_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to