------- Comment #7 from stevenj at alum dot mit dot edu  2007-02-02 02:06 
-------
> Well the C standard mentions there can be non standard integer types so that
> exists for x86_64, __int128_t which has normally aligned 16bytes so again this
> is a bug in glibc.

First, 16-byte alignment for SIMD instructions is needed on 32-bit x86 machines
as well, and also on 32-bit PowerPC (with AltiVec), and on both of these
__int128_t is not supported by gcc.

Second, as far as I can tell __int128_t works perfectly fine on 8-byte aligned
data (I just tried it with gcc 4.1, CoreDuo), nor can I find any documentation
that says it *must* be 16-byte aligned.  (This doesn't seem too surprising: if
you look at the generated assembly, it just uses a sequence of 64-bit int
instructions, which only require 8-byte alignment.)  What is the evidence that
8-byte alignment is a bug in malloc, then?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24261

Reply via email to