AVX-512. 68/n. Add vpmullw, vpacksdw, pmaddwd insn.
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Oct 2014 08:40:34 +0000 (08:40 +0000)
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Oct 2014 08:40:34 +0000 (08:40 +0000)
commit2d71b728a7eae7cef35f125640d13a13be6746e7
tree7f2375867a265f53a8c1a71bca1bd4bca80fd073
parent949656158db5db5350cd0c5c5fe764bdd1b67841
AVX-512. 68/n.  Add vpmullw, vpacksdw, pmaddwd insn.

gcc/
* config/i386/sse.md
(define_c_enum "unspec"): Add UNSPEC_PMADDWD512.
(define_mode_iterator VI2_AVX2): Add V32HI mode.
(define_expand "mul<mode>3<mask_name>"): Add masking.
(define_insn "*mul<mode>3<mask_name>"): Ditto.
(define_expand "<s>mul<mode>3_highpart<mask_name>"): Ditto.
(define_insn "*<s>mul<mode>3_highpart<mask_name>"): Ditto.
(define_insn "avx512bw_pmaddwd512<mode><mask_name>"): New.
(define_mode_attr SDOT_PMADD_SUF): Ditto.
(define_expand "sdot_prod<mode>"): Add <SDOT_PMADD_SUF>.
(define_insn "<sse2_avx2>_packssdw<mask_name>"): Add masking.
(define_insn "*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>"): Ditto.
(define_insn "avx2_packusdw"): Delete.
(define_insn "sse4_1_packusdw"): Ditto.
(define_insn "<sse4_1_avx2>_packusdw<mask_name>"): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216185 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/sse.md