From: Ilya Tocar Date: Mon, 8 Dec 2014 11:48:01 +0000 (+0000) Subject: Enable non-const v64qi permutations. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=28adf6e75ec45da4aa5da5f54fdc51e5ea2836c0;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15f5f26a52c..f22bba83a86 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-12-08 Ilya Tocar + + * 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 * config/i386/i386.c (expand_vec_perm_broadcast_1): Handle v64qi. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 88dd9f4a9dd..1e1716e7070 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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; diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 734e6b46b9a..cfbe40cd6dc 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -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" [(match_operand:VEC_PERM_AVX2 0 "register_operand")