diff options
author | Bin Cheng <bin.cheng@arm.com> | 2016-11-24 12:09:19 +0000 |
---|---|---|
committer | Bin Cheng <amker@gcc.gnu.org> | 2016-11-24 12:09:19 +0000 |
commit | 21aaaf1e050fac4eb5edd66489cc5c6f1b332b75 (patch) | |
tree | 20041d48692ba262f09dcf40768a2c7061a817cd /gcc/match.pd | |
parent | 3b08cde8dd2b27740e04a6f0e531f2c086a9ec1b (diff) | |
download | gcc-21aaaf1e050fac4eb5edd66489cc5c6f1b332b75.zip gcc-21aaaf1e050fac4eb5edd66489cc5c6f1b332b75.tar.gz gcc-21aaaf1e050fac4eb5edd66489cc5c6f1b332b75.tar.bz2 |
match.pd: Refine type conversion in result expr for below pattern: (cond (cmp (convert1?
* match.pd: Refine type conversion in result expr for below pattern:
(cond (cmp (convert1? x) c1) (convert2? x) c2) -> (minmax (x c)).
From-SVN: r242831
Diffstat (limited to 'gcc/match.pd')
-rw-r--r-- | gcc/match.pd | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/match.pd b/gcc/match.pd index e3f8514..3aa27fa 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -2022,11 +2022,12 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) } } (if (code == MAX_EXPR) - (convert (max @1 (convert:from_type @2))) + (convert (max @1 (convert @2))) (if (code == MIN_EXPR) - (convert (min @1 (convert:from_type @2))) + (convert (min @1 (convert @2))) (if (code == EQ_EXPR) - (cond (cmp @1 (convert:from_type @3)) (convert:from_type @3) @2))))))) + (convert (cond (cmp @1 (convert @3)) + (convert:from_type @3) (convert:from_type @2))))))))) (for cnd (cond vec_cond) /* A ? B : (A ? X : C) -> A ? B : C. */ |