https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70325
--- Comment #2 from Kirill Yukhin <kyukhin at gcc dot gnu.org> --- I am testing this patch: commit e88ceeabc50634012fa21f47625934d9a2c2e160 Author: Kirill Yukhin <kirill.yuk...@intel.com> Date: Mon Mar 21 14:28:58 2016 +0300 AVX-512. Fix PR70325. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 3d8dbc4..2c56ee7 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -32431,7 +32431,7 @@ def_builtin (HOST_WIDE_INT mask, const char *name, mask &= ~OPTION_MASK_ISA_64BIT; if (mask == 0 - || (mask & ix86_isa_flags) != 0 + || (mask & ix86_isa_flags) == mask || (lang_hooks.builtin_function == lang_hooks.builtin_function_ext_scope)) diff --git a/gcc/testsuite/gcc.target/i386/pr70325.c b/gcc/testsuite/gcc.target/i386/pr70325.c new file mode 100644 index 0000000..e2b9342 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr70325.c @@ -0,0 +1,12 @@ +/* PR target/70325 */ +/* { dg-do compile } */ +/* { dg-options "-mavx512vl -O2" } */ + +typedef char C __attribute((__vector_size__(32))); +typedef int I __attribute((__vector_size__(32))); + +void +f(int a,I b) +{ + __builtin_ia32_storedquqi256_mask((C*)f,(C)b,a); /* { dg-warning "implicit declaration of function" } */ +}