diff options
author | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2014-10-14 08:56:56 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2014-10-14 08:56:56 +0000 |
commit | ebe87abf2bdad817320b230638365ebcfd2bda1d (patch) | |
tree | 45fe589531d9d78f3a5e82896c8098c63c668183 | |
parent | 0ab03ea08c3886ad009afda41f3cd2df7733cfb1 (diff) | |
download | gcc-ebe87abf2bdad817320b230638365ebcfd2bda1d.zip gcc-ebe87abf2bdad817320b230638365ebcfd2bda1d.tar.gz gcc-ebe87abf2bdad817320b230638365ebcfd2bda1d.tar.bz2 |
AVX-512. 77/n. Use blend for cond-set V32HI and V64QI.
gcc/
* config/i386/i386.c
(ix86_expand_sse_movcc): Handle V64QI and V32HI mode.
(ix86_expand_int_vcond): Ditto.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216193
-rw-r--r-- | gcc/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 79dcc11..59ae412 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -8,6 +8,19 @@ Michael Zolotukhin <michael.v.zolotukhin@intel.com> * config/i386/i386.c + (ix86_expand_sse_movcc): Handle V64QI and V32HI mode. + (ix86_expand_int_vcond): Ditto. + +2014-10-14 Alexander Ivchenko <alexander.ivchenko@intel.com> + Maxim Kuznetsov <maxim.kuznetsov@intel.com> + Anna Tikhonova <anna.tikhonova@intel.com> + Ilya Tocar <ilya.tocar@intel.com> + Andrey Turetskiy <andrey.turetskiy@intel.com> + Ilya Verbin <ilya.verbin@intel.com> + Kirill Yukhin <kirill.yukhin@intel.com> + Michael Zolotukhin <michael.v.zolotukhin@intel.com> + + * config/i386/i386.c (emit_reduc_half): Handle V64QI and V32HI mode. * config/i386/sse.md (define_mode_iterator VI_AVX512BW): New. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 9deee91..698066b 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -21040,6 +21040,12 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false) } break; + case V64QImode: + gen = gen_avx512bw_blendmv64qi; + break; + case V32HImode: + gen = gen_avx512bw_blendmv32hi; + break; case V16SImode: gen = gen_avx512f_blendmv16si; break; @@ -21356,6 +21362,8 @@ ix86_expand_int_vcond (rtx operands[]) } break; + case V64QImode: + case V32HImode: case V32QImode: case V16HImode: case V16QImode: |