http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59797
--- Comment #1 from Yukhin Kirill <kirill.yukhin at intel dot com> --- Sorry, didn't get the problem. According to output you provided - GCC warns ABI changes Here is analogue for AVX2: $ cat 2.c typedef long long __m256i __attribute__ ((__vector_size__ (32), __may_alias__)); __m256i f1(__m256i x, __m256i y) { return y; } $ gcc -S 2.c 2.c: In function ‘f1’: 2.c:4:1: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6 f1(__m256i x, __m256i y) ^ 2.c:4:1: warning: AVX vector argument without AVX enabled changes the ABI [enabled by default] Difference is that AVX[2] warns about using data types without enabling AVX2. Is that the case