2017-01-20 20:08 GMT+03:00 Kirill Yukhin <kirill.yuk...@gmail.com>: > Hi, > On 20 Jan 14:46, Uros Bizjak wrote: >> On Fri, Jan 20, 2017 at 2:32 PM, Andrew Senkevich >> <andrew.n.senkev...@gmail.com> wrote: >> >> > here is intrinsics for ktest{b,w,d,q} and kortest{b,w,d,q}. Is it Ok? >> > >> > gcc/ >> > * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics. >> > * config/i386/avx512dqintrin.h: Ditto. >> > * config/i386/avx512fintrin.h: Ditto. >> > * gcc/config/i386/i386.c: Handle new builtins. >> > * config/i386/i386-builtin.def: Add new builtins. >> > * config/i386/sse.md (ktest<mode>, kortest<mode>): New. >> > (UNSPEC_KORTEST, UNSPEC_KTEST): New. >> > >> > gcc/testsuite/ >> > * gcc.target/i386/avx512bw-ktestd-1.c: New test. >> > * gcc.target/i386/avx512bw-ktestq-1.c: Ditto. >> > * gcc.target/i386/avx512dq-ktestb-1.c: Ditto. >> > * gcc.target/i386/avx512f-ktestw-1.c: Ditto. >> > * gcc.target/i386/avx512bw-kortestd-1.c: Ditto. >> > * gcc.target/i386/avx512bw-kortestq-1.c: Ditto. >> > * gcc.target/i386/avx512dq-kortestb-1.c: Ditto. >> > * gcc.target/i386/avx512f-kortestw-1.c: Ditto. >> >> IMO, you should add some runtime tests. > +1 > >> Otherwise, the patch LGTM, but I'l leave the final approval to Kirill. > Anyway trunk is frozen, so I suppose you'll need OK from RM.
Kirill, attached with runtime tests. Richard, are you OK to approve commit of this patch? It is last part of k-mask intrinsics, it would be great to have all intrinsics of this type available in single GCC release.. Updated changelog: gcc/ * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics. * config/i386/avx512dqintrin.h: Ditto. * config/i386/avx512fintrin.h: Ditto. * gcc/config/i386/i386.c: Handle new builtins. * config/i386/i386-builtin.def: Add new builtins. * config/i386/sse.md (ktest<mode>, kortest<mode>): New. (UNSPEC_KORTEST, UNSPEC_KTEST): New. gcc/testsuite/ * gcc.target/i386/avx512bw-ktestd-1.c: New test. * gcc.target/i386/avx512bw-ktestq-1.c: Ditto. * gcc.target/i386/avx512dq-ktestb-1.c: Ditto. * gcc.target/i386/avx512f-ktestw-1.c: Ditto. * gcc.target/i386/avx512bw-kortestd-1.c: Ditto. * gcc.target/i386/avx512bw-kortestq-1.c: Ditto. * gcc.target/i386/avx512dq-kortestb-1.c: Ditto. * gcc.target/i386/avx512f-kortestw-1.c: Ditto. * gcc.target/i386/avx512bw-ktestd-2.c: Ditt * gcc.target/i386/avx512bw-ktestq-2.c: Ditto. * gcc.target/i386/avx512dq-ktestb-2.c: Ditto. * gcc.target/i386/avx512f-ktestw-2.c: Ditto. * gcc.target/i386/avx512bw-kortestd-2.c: Ditto. * gcc.target/i386/avx512bw-kortestq-2.c: Ditto. * gcc.target/i386/avx512dq-kortestb-2.c: Ditto. * gcc.target/i386/avx512f-kortestw-2.c: Ditto. -- WBR, Andrew
avx512-kmask-intrin-part5.patch
Description: Binary data