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 <rguent...@suse.de> > > SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, > > HRB 21284 (AG Nuernberg) > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)