On Monday, November 24, 2014 10:54:36 PM UTC-5, Simon Kornblith wrote: > > In general, arrays cannot be assumed to be 16-byte aligned because it's > always possible to create one that isn't using pointer_to_array. However, > from Intel's AVX introduction > <https://software.intel.com/en-us/articles/introduction-to-intel-advanced-vector-extensions> > : > > IntelĀ® AVX has relaxed some memory alignment requirements, so now Intel > AVX by default allows unaligned access; however, this access may come at a > performance slowdown, so the old rule of designing your data to be memory > aligned is still good practice (16-byte aligned for 128-bit access and > 32-byte aligned for 256-bit access). >
And BTW 512 bit AVX registers are coming next year. http://en.wikipedia.org/wiki/AVX-512