diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2016-05-02 16:32:53 +0200 |
---|---|---|
committer | Marc Glisse <glisse@gcc.gnu.org> | 2016-05-02 14:32:53 +0000 |
commit | dd53d197a2b19dc53efe7937a793b3909830d767 (patch) | |
tree | 9a15ff4658cb90a999b127b034fba9f26c54a785 /gcc | |
parent | a8b85ce9e2bffc9fcacaf0cfbbb803b01f7598e8 (diff) | |
download | gcc-dd53d197a2b19dc53efe7937a793b3909830d767.zip gcc-dd53d197a2b19dc53efe7937a793b3909830d767.tar.gz gcc-dd53d197a2b19dc53efe7937a793b3909830d767.tar.bz2 |
Canonicalize X u< X to UNORDERED_EXPR
2016-05-02 Marc Glisse <marc.glisse@inria.fr>
gcc/
* match.pd (X u< X, X u> X): New transformations.
gcc/testsuite/
* gcc.dg/tree-ssa/unord.c: New testcase.
From-SVN: r235761
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/match.pd | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/unord.c | 7 |
4 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 10bf855..435a962 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2016-05-02 Marc Glisse <marc.glisse@inria.fr> + * match.pd (X u< X, X u> X): New transformations. + +2016-05-02 Marc Glisse <marc.glisse@inria.fr> + * flag-types.h (enum warn_strict_overflow_code): Move ... * coretypes.h: ... here. * fold-const.h (fold_overflow_warning): Declare. diff --git a/gcc/match.pd b/gcc/match.pd index f1b1f15..8de8858 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -1921,6 +1921,10 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) (simplify (cmp @0 @0) { constant_boolean_node (true, type); })) +(for cmp (unlt ungt) + (simplify + (cmp @0 @0) + (unordered @0 @0))) (simplify (ltgt @0 @0) (if (!flag_trapping_math) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f407584..2ea3d77 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2016-05-02 Marc Glisse <marc.glisse@inria.fr> + * gcc.dg/tree-ssa/unord.c: New testcase. + +2016-05-02 Marc Glisse <marc.glisse@inria.fr> + * gcc.dg/tree-ssa/20040305-1.c: Adjust. 2016-05-02 Nathan Sidwell <nathan@codesourcery.com> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/unord.c b/gcc/testsuite/gcc.dg/tree-ssa/unord.c new file mode 100644 index 0000000..e092792 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/unord.c @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-options "-O -fdump-tree-optimized" } */ + +int f(double a){double b=a;return !__builtin_islessequal(a,b);} +int g(double a){double b=a;return !__builtin_isgreaterequal(a,b);} + +/* { dg-final { scan-tree-dump-times " unord " 2 "optimized" } } */ |