aboutsummaryrefslogtreecommitdiff
path: root/gcc/match.pd
AgeCommit message (Expand)AuthorFilesLines
2023-10-18middle-end: Fold vec_cond into conditional ternary or binary operation when s...Tamar Christina1-0/+24
2023-10-17MATCH: [PR111432] Simplify `a & (x | CST)` to a when we know that (a & ~CST) ...Andrew Pinski1-0/+8
2023-10-16MATCH: Improve `A CMP 0 ? A : -A` set of patterns to use bitwise_equal_p.Andrew Pinski1-20/+29
2023-10-16[PR31531] MATCH: Improve ~a < ~b and ~a < CST, allow a nop cast inbetween ~ a...Andrew Pinski1-4/+6
2023-10-12wide-int: Allow up to 16320 bits wide_int and change widest_int precision to ...Jakub Jelinek1-2/+6
2023-10-11MATCH: [PR111282] Simplify `a & (b ^ ~a)` to `a & b`Andrew Pinski1-0/+20
2023-10-10MATCH: [PR111679] Add alternative simplification of `a | ((~a) ^ b)`Andrew Pinski1-0/+8
2023-10-06MATCH: Fix infinite loop between `vec_cond(vec_cond(a,b,0), c, d)` and `a & b`Andrew Pinski1-0/+5
2023-10-04match.pd: Avoid other build_nonstandard_integer_type calls [PR111369]Jakub Jelinek1-17/+9
2023-10-04match.pd: Fix up a ? cst1 : cst2 regression on signed bool [PR111668]Jakub Jelinek1-14/+31
2023-09-27Simplify abs (copysign (x, y))Richard Biener1-0/+5
2023-09-26MATCH: Simplify `(A ==/!= B) &/| (((cast)A) CMP C)`Andrew Pinski1-30/+46
2023-09-26MATCH: Optimize COND_ADD reduction patternJuzhe-Zhong1-2/+5
2023-09-26MATCH: Optimize COND_ADD_LEN reduction patternJuzhe-Zhong1-0/+15
2023-09-24MATCH: Add `(X & ~Y) & Y` and `(X | ~Y) | Y`Andrew Pinski1-0/+17
2023-09-21check undefine_p for one more vrJiufu Guo1-1/+1
2023-09-21using overflow_free_p to simplify patternJiufu Guo1-30/+6
2023-09-20middle-end: use MAX_FIXED_MODE_SIZE instead of precidion of TImode/DImodeJakub Jelinek1-3/+1
2023-09-19match.pd: Some build_nonstandard_integer_type tweaksJakub Jelinek1-42/+21
2023-09-18MATCH: Make zero_one_valued_p non-recursive fullyAndrew Pinski1-1/+4
2023-09-18MATCH: Avoid recursive zero_one_valued_p for conversionsAndrew Pinski1-1/+7
2023-09-18MATCH: Add simplifications of `(a == CST) & a`Andrew Pinski1-0/+8
2023-09-18use local range for one more pattern in match.pdJiufu Guo1-2/+2
2023-09-15MATCH: Improve zero_one_valued_p for cases without range informationAndrew Pinski1-0/+10
2023-09-15MATCH: Fix `(1 >> X) != 0` pattern for vector typesAndrew Pinski1-2/+3
2023-09-14MATCH: Support `(a != (CST+1)) & (a > CST)` optimizationsAndrew Pinski1-2/+42
2023-09-13MATCH: Move `X <= MAX(X, Y)` before `MIN (X, C1) < C2` patternAndrew Pinski1-7/+8
2023-09-13MATCH: [PR111364] Add some more minmax cmp operand simplificationsAndrew Pinski1-3/+5
2023-09-13MATCH: Simplify `(X % Y) < Y` pattern.Andrew Pinski1-6/+1
2023-09-13Checking undefined_p before using the vrJiufu Guo1-0/+3
2023-09-12MATCH: Simplify (a CMP1 b) ^ (a CMP2 b)Andrew Pinski1-0/+20
2023-09-11MATCH: [PR111348] add missing :c to cmp in the `(a CMP b) ? minmax<a, c> : mi...Andrew Pinski1-1/+1
2023-09-11MATCH: [PR111349] add missing :c to cmp in the `(a CMP CST1) ? max<a,CST2> : ...Andrew Pinski1-1/+1
2023-09-10MATCH: [PR111346] `X CMP MINMAX` pattern missing :c on CMPAndrew Pinski1-1/+1
2023-09-10Fix PR 111331: wrong code for `a > 28 ? MIN<a, 28> : 29`Andrew Pinski1-2/+2
2023-09-06Middle-end _BitInt support [PR102989]Jakub Jelinek1-0/+1
2023-09-05MATCH: Add `(x | c) & ~(y | c)` and `x & ~(y | x)` patterns [PR98710]Andrew Pinski1-1/+13
2023-09-05MATCH: Add pattern for `(x | y) & (x & z)`Andrew Pinski1-1/+6
2023-09-05MATCH: `(nop_convert)-(convert)a` into -(convert)a if we are converting from ...Andrew Pinski1-0/+11
2023-09-05MATCH: Add `~MAX(~X, Y)` pattern: [PR96694]Andrew Pinski1-1/+6
2023-09-05MATCH: Transform `(1 >> X) !=/== 0` into `X ==/!= 0`Andrew Pinski1-2/+8
2023-09-04Optimize '(X - N * M) / N' to 'X / N - M' if validJiufu Guo1-0/+80
2023-08-31MATCH [PR19832]: Optimize some `(a != b) ? a OP b : c`Andrew Pinski1-0/+31
2023-08-31MATCH: extend min_value/max_value match to vectorsAndrew Pinski1-8/+16
2023-08-30tree-optimization/111228 - combine two VEC_PERM_EXPRsRichard Biener1-3/+138
2023-08-29MATCH: Move `(x | y) & (~x ^ y)` over to use bitwise_inverted_equal_pAndrew Pinski1-2/+5
2023-08-28MATCH: Move `(X & ~Y) | (~X & Y)` over to use bitwise_inverted_equal_pAndrew Pinski1-6/+7
2023-08-28MATCH: Remove redundant pattern for `(x | y) & ~x`Andrew Pinski1-8/+0
2023-08-25MATCH: Move `a ? one_zero : one_zero` matching after min/max matchingAndrew Pinski1-18/+24
2023-08-25MATCH: `a | C -> C` when we know that `a & ~C == 0`Andrew Pinski1-0/+6