[M3devel] expressing 128 bit alignment?
Jay K
jay.krell at cornell.edu
Fri Dec 31 14:52:27 CET 2010
The alignment of jmpbuf is 128 bits for some targets.
It seems like a hole in the language that this can't be expressed.
Or maybe I just don't know how.
Or maybe Target.max_align gets in the way??
I'd like to soon remove an accurately described jmpbuf from m3core, making this maybe moot.
Linux/powerpc:
/usr/include/bits/setjmp.h
#ifndef _ASM
# if __WORDSIZE == 64
typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16)));
# else
/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte
aligned buffer as per the ABI it is just added for performance reasons. */
typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16)));
# endif
#endif
Notice that the 128bit alignment on powerpc64 is not commented as being unessential, only for powerpc32.
- Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20101231/299f47ba/attachment-0001.html>
More information about the M3devel
mailing list