https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66115
carloscastro10 at hotmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|INVALID |--- --- Comment #9 from carloscastro10 at hotmail dot com --- __alignof__(__m128i) is 16, just like __alignof__(long) is 8 and __alignof__(int) is 4. However, if I have a pointer to long or a pointer to int, the memory addresses pointed at by those pointers can be aligned to any byte boundary. Assuming that the address pointed at by a pointer to __m128i is aligned to a 16-byte boundary is not a correct assumption, especially when compiling with -mavx. It prevents proper modeling in debug mode of access to unaligned operands in memory. This problem is also present with the __m256i type. In AVX, aligned memory load operations (_mm256_load_si256 and similar) are the exceptions in that they require pointers to aligned memory addresses. Most AVX operations accept unaligned addresses.