]> git.ipfire.org Git - thirdparty/gcc.git/commit
Update extract_even_odd w/ AVX-512BW insns.
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Oct 2015 14:36:41 +0000 (14:36 +0000)
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Oct 2015 14:36:41 +0000 (14:36 +0000)
commit8f83f53edc2df6bd7b54cd18bec03167538ec542
tree898925099dd89d15bbea12571dbdd71caf97f402
parentaa1be4c786208d1c0419bcf248e64a30d9f57741
Update extract_even_odd w/ AVX-512BW insns.

gcc/
* config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
(expand_vec_perm_even_odd_1): Handle V64QImode.
(ix86_expand_vec_perm_const_1): Try expansion with
expand_vec_perm_even_odd_trunc as well.
* config/i386/sse.md (VI124_AVX512F): Rename to ...
(define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
to V54QI.
(define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
(define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
to V32HI and V16SI.
(define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
(define_expand "vec_pack_trunc_<mode>"): Update iterator name.
(define_expand "vec_unpacks_lo_<mode>"): Ditto.
(define_expand "vec_unpacks_hi_<mode>"): Ditto.
(define_expand "vec_unpacku_lo_<mode>"): Ditto.
(define_expand "vec_unpacku_hi_<mode>"): Ditto.

gcc/testsuite/
* gcc.target/i386/vect-pack-trunc-1.c: New test.
* gcc.target/i386/vect-pack-trunc-2.c: Ditto.
* gcc.target/i386/vect-perm-even-1.c: Ditto.
* gcc.target/i386/vect-perm-odd-1.c: Ditto.
* gcc.target/i386/vect-unpack-1.c: Ditto.
* gcc.target/i386/vect-unpack-2.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228394 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/vect-pack-trunc-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/vect-pack-trunc-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/vect-perm-even-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/vect-perm-odd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/vect-unpack-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/vect-unpack-2.c [new file with mode: 0644]