aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-12-03 14:47:24 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-12-03 14:47:24 +0000
commit577f4a0e5e7f7ef9b5729a3eed79e523cba9dfa9 (patch)
treee14bbde6f47b47343772c6d8863596bfeba96bd9 /gcc
parentd8f0024b57e261f0466b2b206d459ad05ab7ca1c (diff)
downloadgcc-577f4a0e5e7f7ef9b5729a3eed79e523cba9dfa9.zip
gcc-577f4a0e5e7f7ef9b5729a3eed79e523cba9dfa9.tar.gz
gcc-577f4a0e5e7f7ef9b5729a3eed79e523cba9dfa9.tar.bz2
re PR target/92758 (r278833 breaks gcc.target/powerpc/fold-vec-splat-floatdouble.c)
2019-12-03 Richard Biener <rguenther@suse.de> PR tree-optimization/92758 * tree-ssa-forwprop.c (simplify_vector_constructor): Restore operation on uniform vectors. From-SVN: r278938
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-forwprop.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e9119f9..9efc808 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2019-12-03 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/92758
+ * tree-ssa-forwprop.c (simplify_vector_constructor): Restore
+ operation on uniform vectors.
+
+2019-12-03 Richard Biener <rguenther@suse.de>
+
PR tree-optimization/92645
* gimple-fold.c (gimple_fold_builtin_memory_op): Fold memcpy
from or to a properly aligned register variable.
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index 36e6267..4a83124 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -2043,8 +2043,7 @@ simplify_vector_constructor (gimple_stmt_iterator *gsi)
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));