diff options
author | Ilya Tocar <ilya.tocar@intel.com> | 2014-10-17 15:11:51 +0000 |
---|---|---|
committer | Ilya Tocar <tocarip@gcc.gnu.org> | 2014-10-17 19:11:51 +0400 |
commit | f5db965fda4963a26a8e8d6943fb2cab8c590847 (patch) | |
tree | e4010a1c57fb70c7facda21938e93f6ebcab1e01 /depcomp | |
parent | cad7438c759d387e5b05ba52f8dd43c7550e90f5 (diff) | |
download | gcc-f5db965fda4963a26a8e8d6943fb2cab8c590847.zip gcc-f5db965fda4963a26a8e8d6943fb2cab8c590847.tar.gz gcc-f5db965fda4963a26a8e8d6943fb2cab8c590847.tar.bz2 |
AVX512. 63.1 Update permute expanding.
gcc/
2014-10-17 Ilya Tocar <ilya.tocar@intel.com>
* config/i386/i386.c (MAX_VECT_LEN): Move earlier.
(expand_vec_perm_d): Ditto.
(ix86_expand_vec_perm_vpermi2): Handle V8HImode, V16HImode, V32HImode,
V32HImode, V4SImode, V8SImode, V4SFmode, V8SFmode, V2DImode, V4DImode,
V4DFmode.
(ix86_expand_vec_perm): Update call to ix86_expand_vec_perm_vpermi2.
(ix86_expand_sse_unpack): Handle V64QImode.
(expand_vec_perm_blend): Update conditions for TARGET, handle
V8DFmode, V16SFmode, V32HImode, V64QImode, V16SImode, V8DImode.
(expand_vec_perm_pshufb): Handle V64QImode.
(expand_vec_perm_1): Handle V64QImode, V32HImode, V16SImode, V16SFmode,
V8DFmode, V8DImode, V4DFmode, V2DFmode, V8SFmode, V4SFmode.
(ix86_expand_vec_perm_const_1): Call ix86_expand_vec_perm_vpermi2.
(ix86_vectorize_vec_perm_const_ok): Handle V32HImode, V64QImode.
(ix86_expand_vecop_qihi): Handle V64QImode.
* config/i386/sse.md (define_mode_iterator VI1_AVX512): New.
(define_mode_iterator VEC_PERM_AVX2): Add V32HI.
(define_mode_iterator VEC_PERM_CONST): Add V32HI.
(define_insn "<ssse3_avx2>_pshufb<mode>3<mask_name>"): Add masking.
(mul<mode>3): Use VI1_AVX512.
(<sse2_avx2>_packsswb): Ditto.
(<sse2_avx2>_packuswb): Ditto.
(<ssse3_avx2>_pshufb<mode>3): Ditto.
(<shift_insn><mode>3): Ditto.
From-SVN: r216405
Diffstat (limited to 'depcomp')
0 files changed, 0 insertions, 0 deletions