https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102143

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Well, we already have the ABI ISA dependent,
typedef int __v8si __attribute__((__vector_size__ (32)));

__v8si
foo (__v8si x, __v8si y)
{
  return x + y;
}
has different ABI based on -mavx or -mno-avx, etc.  For -mno-avx we emit a
warning:
/tmp/test.c: In function ‘foo’:
/tmp/test.c:5:1: warning: AVX vector return without AVX enabled changes the ABI
[-Wpsabi]
    5 | {
      | ^
/tmp/test.c:4:1: note: the ABI for passing parameters with 32-byte alignment
has changed in GCC 4.6
    4 | foo (__v8si x, __v8si y)
      | ^~~
/tmp/test.c:4:1: warning: AVX vector argument without AVX enabled changes the
ABI [-Wpsabi]

So, depending on what we decide, if the ABI will be ISA dependent, we want a
warning like the above one.

Reply via email to