diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2018-10-02 16:55:39 +0200 |
---|---|---|
committer | Marc Glisse <glisse@gcc.gnu.org> | 2018-10-02 14:55:39 +0000 |
commit | 057cf66ca3d290e0f68f66eba0e43379cb77f870 (patch) | |
tree | 52902674b39218ed120fa87d82c33c2a8886a334 /gcc/fold-const.c | |
parent | a1c3d798efbf20497bfb6584c9a780dc24996ee1 (diff) | |
download | gcc-057cf66ca3d290e0f68f66eba0e43379cb77f870.zip gcc-057cf66ca3d290e0f68f66eba0e43379cb77f870.tar.gz gcc-057cf66ca3d290e0f68f66eba0e43379cb77f870.tar.bz2 |
No a*x+b*x factorization for signed vectors
2018-10-02 Marc Glisse <marc.glisse@inria.fr>
PR middle-end/87319
* fold-const.c (fold_plusminus_mult_expr): Handle complex and vectors.
* tree.c (signed_or_unsigned_type_for): Handle complex.
From-SVN: r264790
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r-- | gcc/fold-const.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 3a6d1b1..59cedea 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -7143,7 +7143,7 @@ fold_plusminus_mult_expr (location_t loc, enum tree_code code, tree type, if (!same) return NULL_TREE; - if (! INTEGRAL_TYPE_P (type) + if (! ANY_INTEGRAL_TYPE_P (type) || TYPE_OVERFLOW_WRAPS (type) /* We are neither factoring zero nor minus one. */ || TREE_CODE (same) == INTEGER_CST) |