diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2016-08-31 20:22:58 +0200 |
---|---|---|
committer | Marc Glisse <glisse@gcc.gnu.org> | 2016-08-31 18:22:58 +0000 |
commit | 9ff6fb6ede9ac2902088514067aca53e1133cc80 (patch) | |
tree | ab0dd8972582fd2e1422c762dc2a4ee39528897a /gcc | |
parent | 8e95a6740883dc268f757173f98e9afdf786db80 (diff) | |
download | gcc-9ff6fb6ede9ac2902088514067aca53e1133cc80.zip gcc-9ff6fb6ede9ac2902088514067aca53e1133cc80.tar.gz gcc-9ff6fb6ede9ac2902088514067aca53e1133cc80.tar.bz2 |
match.pd: Revert a * (1 << b) relaxation.
2016-08-31 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/73714
gcc/
* match.pd (a * (1 << b)): Revert change from 2016-05-23.
gcc/testsuite/
* gcc.dg/tree-ssa/pr73714.c: New test.
From-SVN: r239902
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/match.pd | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr73714.c | 8 |
4 files changed, 19 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4f11321..2d50833 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-08-31 Marc Glisse <marc.glisse@inria.fr> + + PR tree-optimization/73714 + * match.pd (a * (1 << b)): Revert change from 2016-05-23. + 2016-08-31 David Malcolm <dmalcolm@redhat.com> * selftest.c: Move "namespace selftest {" to top of file, diff --git a/gcc/match.pd b/gcc/match.pd index 123e754..786cf4c 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -468,8 +468,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) (simplify (mult:c @0 (convert? (lshift integer_onep@1 @2))) (if (! FLOAT_TYPE_P (type) - && (element_precision (type) <= element_precision (TREE_TYPE (@1)) - || TYPE_UNSIGNED (TREE_TYPE (@1)))) + && tree_nop_conversion_p (type, TREE_TYPE (@1))) (lshift @0 @2))) /* Fold (C1/X)*C2 into (C1*C2)/X. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 20535a1..4a9043c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-08-31 Marc Glisse <marc.glisse@inria.fr> + + PR tree-optimization/73714 + * gcc.dg/tree-ssa/pr73714.c: New test. + 2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77393 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr73714.c b/gcc/testsuite/gcc.dg/tree-ssa/pr73714.c new file mode 100644 index 0000000..40604b8 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr73714.c @@ -0,0 +1,8 @@ +/* { dg-do compile { target lp64 } } */ +/* { dg-options "-O2 -fdump-tree-optimized-raw" } */ + +int f(int a, int b){ + return a * (int)(1L << b); +} + +/* { dg-final { scan-tree-dump "mult_expr" "optimized" } } */ |