On January 20, 2017 9:03:53 PM GMT+01:00, Andrew Senkevich <andrew.n.senkev...@gmail.com> wrote: >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?
OK. Note trunk is not frozen, it's operated in release branch mode now. Richard. >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