http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59797
Bug ID: 59797
Summary: GCC doesn't warn AVX-512 ABI change
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
CC: kirill.yukhin at intel dot com
[hjl@gnu-6 gcc]$ cat /tmp/z.i
typedef long long __m512i __attribute__ ((__vector_size__ (64),
__may_alias__));
__m512i
f1(__m512i x, __m512i y)
{
return y;
}
[hjl@gnu-6 gcc]$ ./xgcc -B./ -S -O /tmp/z.i
/tmp/z.i: In function ‘f1’:
/tmp/z.i:4:1: note: The ABI for passing parameters with 64-byte alignment has
changed in GCC 4.6
f1(__m512i x, __m512i y)
^
[hjl@gnu-6 gcc]$ ./xgcc -B./ -S -O /tmp/z.i -mavx512f
[hjl@gnu-6 gcc]$
When -mavx512f isn't used, GCC should warn ABI changes for passing/returning
AVX vector values.