PR middle-end/85090
commit2a8a7176107a9cea45b2c9886e19dfbbe9fb865b
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Apr 2018 06:05:01 +0000 (1 06:05 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Apr 2018 06:05:01 +0000 (1 06:05 +0000)
tree1eddafeccf10766f89a19b13a94ae5edc5b257ec
parent182c84928afa2bdeb5d6fa35aa792908945458dd
PR middle-end/85090
* config/i386/sse.md (V): Add V64QI and V32HI for TARGET_AVX512F.
(V_128_256): New mode iterator.
(*avx512dq_vextract<shuffletype>64x2_1 splitter): New define_split.
(*avx512f_vextract<shuffletype>32x4_1 splitter): Likewise.
(xop_pcmov_<mode><avxsizesuffix>): Use V_128_256 mode iterator instead
of V.
* config/i386/i386.c (ix86_expand_vector_set): Improve V32HImode and
V64QImode expansion for !TARGET_AVX512BW && TARGET_AVX512F.

* gcc.target/i386/avx512f-pr85090-1.c: New test.
* gcc.target/i386/avx512f-pr85090-2.c: New test.
* gcc.target/i386/avx512f-pr85090-3.c: New test.
* gcc.target/i386/avx512bw-pr85090-2.c: New test.
* gcc.target/i386/avx512bw-pr85090-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258994 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512bw-pr85090-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bw-pr85090-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-pr85090-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-pr85090-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-pr85090-3.c [new file with mode: 0644]