[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