Enable non-const v64qi permutations.

gcc/
	* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Handle v64qi.
	* config/i386/sse.md (VEC_PERM_AVX2): Add v64qi.

From-SVN: r218483
This commit is contained in:
Ilya Tocar 2014-12-08 11:48:01 +00:00 committed by Ilya Tocar
parent 9f9f61155a
commit 28adf6e75e
3 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2014-12-08 Ilya Tocar <ilya.tocar@intel.com>
* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Handle v64qi.
* config/i386/sse.md (VEC_PERM_AVX2): Add v64qi.
2014-12-08 Ilya Tocar <ilya.tocar@intel.com>
* config/i386/i386.c (expand_vec_perm_broadcast_1): Handle v64qi.

View File

@ -21835,6 +21835,10 @@ ix86_expand_vec_perm_vpermi2 (rtx target, rtx op0, rtx mask, rtx op1,
if (TARGET_AVX512VL && TARGET_AVX512BW)
gen = gen_avx512vl_vpermi2varv16hi3;
break;
case V64QImode:
if (TARGET_AVX512VBMI)
gen = gen_avx512bw_vpermi2varv64qi3;
break;
case V32HImode:
if (TARGET_AVX512BW)
gen = gen_avx512bw_vpermi2varv32hi3;

View File

@ -10691,7 +10691,7 @@
(V8SF "TARGET_AVX2") (V4DF "TARGET_AVX2")
(V16SF "TARGET_AVX512F") (V8DF "TARGET_AVX512F")
(V16SI "TARGET_AVX512F") (V8DI "TARGET_AVX512F")
(V32HI "TARGET_AVX512BW")])
(V32HI "TARGET_AVX512BW") (V64QI "TARGET_AVX512VBMI")])
(define_expand "vec_perm<mode>"
[(match_operand:VEC_PERM_AVX2 0 "register_operand")