This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations
On Tue, 12 Sep 2017, Tamar Christina wrote:
> Hi Jon, Richard,
>
> > > >
> > > > Testing the following instead:
> > >
> > > Any news on this?
> >
> > Didn't work out as expected. I think the logic in tree-vect-generic is the one
> > to be fixed but I have to carve out some time to look into it so stay tuned.
>
> In the meantime can this patch be reverted? It is causing ICEs on
> AArch64 and ARM Preventing us from building benchmarks and tracking the
> toolchain performance.
You can always locally patch things. I have yet another patch in
testing right now.
Richard.
> Thanks,
> Tamar
>
> >
> > Richard.
> >
> > > VP.
> > >
> > >
> > > >
> > > > Index: gcc/tree-vect-generic.c
> > > >
> > ==========================================================
> > =========
> > > > --- gcc/tree-vect-generic.c (revision 251642)
> > > > +++ gcc/tree-vect-generic.c (working copy)
> > > > @@ -1640,7 +1640,7 @@ expand_vector_operations_1 (gimple_stmt_
> > > > || code == VEC_UNPACK_FLOAT_LO_EXPR)
> > > > type = TREE_TYPE (rhs1);
> > > >
> > > > - /* For widening/narrowing vector operations, the relevant type is
> > > > of the
> > > > + /* For widening vector operations, the relevant type is of the
> > > > arguments, not the widened result. VEC_UNPACK_FLOAT_*_EXPR is
> > > > calculated in the same way above. */
> > > > if (code == WIDEN_SUM_EXPR
> > > > @@ -1650,9 +1650,6 @@ expand_vector_operations_1 (gimple_stmt_
> > > > || code == VEC_WIDEN_MULT_ODD_EXPR
> > > > || code == VEC_UNPACK_HI_EXPR
> > > > || code == VEC_UNPACK_LO_EXPR
> > > > - || code == VEC_PACK_TRUNC_EXPR
> > > > - || code == VEC_PACK_SAT_EXPR
> > > > - || code == VEC_PACK_FIX_TRUNC_EXPR
> > > > || code == VEC_WIDEN_LSHIFT_HI_EXPR
> > > > || code == VEC_WIDEN_LSHIFT_LO_EXPR)
> > > > type = TREE_TYPE (rhs1);
> > > >
> > > >
> > > > also fix for a bug uncovered by the previous one:
> > > >
> > > > Index: gcc/gimple-ssa-strength-reduction.c
> > > >
> > ==========================================================
> > =========
> > > > --- gcc/gimple-ssa-strength-reduction.c (revision 251710)
> > > > +++ gcc/gimple-ssa-strength-reduction.c (working copy)
> > > > @@ -1742,8 +1742,7 @@ find_candidates_dom_walker::before_dom_c
> > > > slsr_process_ref (gs);
> > > >
> > > > else if (is_gimple_assign (gs)
> > > > - && SCALAR_INT_MODE_P
> > > > - (TYPE_MODE (TREE_TYPE (gimple_assign_lhs (gs)))))
> > > > + && INTEGRAL_TYPE_P (TREE_TYPE (gimple_assign_lhs
> > > > + (gs))))
> > > > {
> > > > tree rhs1 = NULL_TREE, rhs2 = NULL_TREE;
> > > >
> > > >
> > >
> > >
> >
> > --
> > Richard Biener <rguenther@suse.de>
> > SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton,
> > HRB 21284 (AG Nuernberg)
>
>
--
Richard Biener <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)
- References:
- Re: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- Re: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- Re: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- Re: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- Re: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- Re: [RFC, vectorizer] Allow single element vector types for vector reduction operations
- RE: [RFC, vectorizer] Allow single element vector types for vector reduction operations