https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
--- Comment #13 from Ferruh YIGIT <ferruh.yigit at intel dot com> ---
(In reply to Hongtao.liu from comment #6)
> (In reply to Ferruh YIGIT from comment #1)
> > Created attachment 46115 [details]
> > 19.05-rc1 -mno-avx512f gcc build on skylake
> >
> > The build is done with changing the lib/librte_kni/Makefile as following:
> >
> > + CFLAGS += -mno-avx512f
>
> (In reply to Ferruh YIGIT from comment #5)
> > Tested with latest gcc [1], same output.
> >
> > [1] Compiled from source:
> > gcc (GCC) 9.0.1 20190409 (experimental)
>
> I built rte_kni.i with latest gcc and got
>
> ...
> vmovdqu64 (%rsi,%rax), %zmm1
> kmovw %k1, %k2
> vpgatherqq 8(,%zmm1,1), %zmm0{%k2}
> vpaddq %zmm1, %zmm0, %zmm0
> kmovw %k1, %k3
> vpgatherqq 0(,%zmm1,1), %zmm2{%k3}
> vpsubq %zmm2, %zmm0, %zmm0
> vmovdqu64 %zmm0, (%rcx,%rax)
> ...
>
> Can't reproduce the issue you mentioned.
>
> Could you please upload *.s and *.o with both version(with and without
> -mno-avx512f).
Attached:
gcc_avx512_rte_kni.o
gcc_avx512_rte_kni.s
gcc_NO_avx512_rte_kni.o
gcc_NO_avx512_rte_kni.s