Add AVX512 k-mask intrinsics
authorAndrew Senkevich <andrew.senkevich@intel.com>
Mon, 23 Jan 2017 12:52:39 +0000 (12:52 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Mon, 23 Jan 2017 12:52:39 +0000 (12:52 +0000)
commitdea061117ae1f09ace7a417ab57ba738699c8712
tree6b69df3f1c4887e42f14b2c798f3139f963ea63a
parent050116183b0368ecc4daf8b73d13627de6a11824
Add AVX512 k-mask intrinsics

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.

From-SVN: r244801
24 files changed:
gcc/ChangeLog
gcc/config/i386/avx512bwintrin.h
gcc/config/i386/avx512dqintrin.h
gcc/config/i386/avx512fintrin.h
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386.c
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512bw-kortestd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-kortestd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-kortestq-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-kortestq-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-ktestd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-ktestd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-ktestq-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-ktestq-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512dq-kortestb-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512dq-kortestb-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512dq-ktestb-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512dq-ktestb-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-kortestw-1.c
gcc/testsuite/gcc.target/i386/avx512f-kortestw-2.c
gcc/testsuite/gcc.target/i386/avx512f-ktestw-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-ktestw-2.c [new file with mode: 0644]