On 4/15/2010 10:09 PM, Ian Lance Taylor wrote:
nibbs22@xxxxxxx writes:
I thought I was guaranteed to have _mm_malloc return array addresses
that are aligned to 16 bytes
and that the compiler would recognize this.
The first is true. The second is currently not. That is a bug in the
compiler and/or the support library.
I suppose it's preferable to use malloc() on 64-bit platforms where it
gives 16-byte aligned addresses, as _mm_malloc has portability issues
even among targets where it's expected to be present. So, I personally
wouldn't complain about the compiler not recognizing special properties
of _mm_malloc() and near synonyms for targets where malloc() doesn't
properly support objects of more than 64 bits (32 bits in a well known
case).
I couldn't elicit information from OP as to whether this was a 32- or
64-bit target, knowledge needed to comment on more than one of the
questions asked.
--
Tim Prince