The PR shows I added the bail-out prematurely.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

Richard.

2019-12-03  Richard Biener  <rguent...@suse.de>

        PR tree-optimization/92758
        * tree-ssa-forwprop.c (simplify_vector_constructor): Restore
        operation on uniform vectors.

Index: gcc/tree-ssa-forwprop.c
===================================================================
--- gcc/tree-ssa-forwprop.c     (revision 278930)
+++ gcc/tree-ssa-forwprop.c     (working copy)
@@ -2043,8 +2043,7 @@ simplify_vector_constructor (gimple_stmt
   gcc_checking_assert (TREE_CODE (op) == CONSTRUCTOR
                       && TREE_CODE (type) == VECTOR_TYPE);
 
-  if (!TYPE_VECTOR_SUBPARTS (type).is_constant (&nelts)
-      || uniform_vector_p (op))
+  if (!TYPE_VECTOR_SUBPARTS (type).is_constant (&nelts))
     return false;
   elem_type = TREE_TYPE (type);
   elem_size = TREE_INT_CST_LOW (TYPE_SIZE (elem_type));

Reply via email to