On Tue, 12 Sep 2017, Richard Biener wrote: > 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.
I've installed the following. Bootstrapped and tested on x86_64-unknown-linux-gnu. Richard. 2017-09-12 Richard Biener <rguent...@suse.de> * tree-vect-generic.c (expand_vector_operations_1): Do nothing for operations we cannot scalarize. Index: gcc/tree-vect-generic.c =================================================================== --- gcc/tree-vect-generic.c (revision 251997) +++ gcc/tree-vect-generic.c (working copy) @@ -1638,7 +1638,11 @@ expand_vector_operations_1 (gimple_stmt_ /* The signedness is determined from input argument. */ if (code == VEC_UNPACK_FLOAT_HI_EXPR || code == VEC_UNPACK_FLOAT_LO_EXPR) - type = TREE_TYPE (rhs1); + { + type = TREE_TYPE (rhs1); + /* We do not know how to scalarize those. */ + return; + } /* For widening/narrowing vector operations, the relevant type is of the arguments, not the widened result. VEC_UNPACK_FLOAT_*_EXPR is @@ -1655,7 +1659,11 @@ expand_vector_operations_1 (gimple_stmt_ || code == VEC_PACK_FIX_TRUNC_EXPR || code == VEC_WIDEN_LSHIFT_HI_EXPR || code == VEC_WIDEN_LSHIFT_LO_EXPR) - type = TREE_TYPE (rhs1); + { + type = TREE_TYPE (rhs1); + /* We do not know how to scalarize those. */ + return; + } /* Choose between vector shift/rotate by vector and vector shift/rotate by scalar */