https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94343
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- --- gcc/testsuite/gcc.target/i386/avx512f-pr94343.c.jj 2020-03-26 17:47:40.008654504 +0100 +++ gcc/testsuite/gcc.target/i386/avx512f-pr94343.c 2020-03-26 17:48:37.169811375 +0100 @@ -0,0 +1,12 @@ +/* PR target/94343 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -mavx512f -mno-avx512vl" } */ +/* { dg-final { scan-assembler-not "vpternlogd\[^\n\r]*xmm\[0-9]*" } } */ + +typedef int __v4si __attribute__((vector_size (16))); + +__v4si +foo (__v4si a) +{ + return ~a; +} --- gcc/testsuite/gcc.target/i386/avx512vl-pr94343.c.jj 2020-03-26 17:48:53.232573115 +0100 +++ gcc/testsuite/gcc.target/i386/avx512vl-pr94343.c 2020-03-26 17:49:08.034352968 +0100 @@ -0,0 +1,12 @@ +/* PR target/94343 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -mavx512vl" } */ +/* { dg-final { scan-assembler "vpternlogd\[^\n\r]*xmm\[0-9]*" } } */ + +typedef int __v4si __attribute__((vector_size (16))); + +__v4si +foo (__v4si a) +{ + return ~a; +} is enough.