On Fri, Jan 29, 2016 at 3:13 PM, Yuri Rumyantsev <ysrum...@gmail.com> wrote:
> Uros,
>
> Here is update patch which includes (1) couple changes proposed by
> Richard in tree-vect-loop.c and (2) the changes in back-end proposed
> by you.
>
> Is it OK for trunk?
> Bootstrap and regression testing dis not show any new failures.
>
> ChangeLog:
>
> 2016-01-29  Yuri Rumyantsev  <ysrum...@gmail.com>
>
> PR middle-end/68542
> * config/i386/i386.c (ix86_expand_branch): Add support for conditional
> branch with vector comparison.
> *config/i386/sse.md (Vi48_AVX): New mode iterator.
> (define_expand "cbranch<mode>4): Add support for conditional branch
> with vector comparison.
> * tree-vect-loop.c (optimize_mask_stores): New function.
> * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
> has_mask_store field of vect_info.
> * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
> vectorized loops having masked stores after vec_info destroy.
> * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
> correspondent macros.
> (optimize_mask_stores): Add prototype.
>
> gcc/testsuite/ChangeLog:
> * gcc.dg/vect/vect-mask-store-move-1.c: New test.
> * testsuite/gcc.target/i386/avx2-vect-mask-store-move1.c: Likewise.


+(define_mode_iterator Vi48_AVX
+ [(V4SI "TARGET_AVX") (V2DI "TARGET_AVX")
+  (V8SI "TARGET_AVX") (V4DI "TARGET_AVX")])
+

Please name this iterator with all caps: VI48_AVX. Also, there is no
need for a condition at V4SI and V2DI:

(define_mode_iterator VI48_AVX
  [V4SI  V2DI
   (V8SI "TARGET_AVX") (V4DI "TARGET_AVX")

x86 part is OK with the above change.

Thanks,
Uros.

Reply via email to