aboutsummaryrefslogtreecommitdiff
path: root/gcc/match.pd
AgeCommit message (Expand)AuthorFilesLines
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
2023-08-24MATCH: [PR111109] Fix bit_ior(cond,cond) when comparisons are fpAndrew Pinski1-3/+8
2023-08-23MATCH: remove negate for 1bit typesAndrew Pinski1-0/+12
2023-08-22tree-optimization/94864 - vector insert of vector extract simplificationRichard Biener1-0/+25
2023-08-21MATCH: [PR111002] Sink view_convert for vec_condAndrew Pinski1-0/+9
2023-08-20MATCH: Sink convert for vec_condAndrew Pinski1-0/+8
2023-08-16Add support for vector conitional notAndrew Pinski1-2/+13
2023-08-11match.pd: Implement missed optimization ((x ^ y) & z) | x -> (z & y) | x [PR1...Drew Ross1-4/+8
2023-08-10Fix PR 110954: wrong code with cmp | !cmpAndrew Pinski1-16/+25
2023-08-09MATCH: [PR110937/PR100798] (a ? ~b : b) should be optimized to b ^ -(a)Andrew Pinski1-0/+14
2023-08-07MATCH: [PR109959] `(uns <= 1) & uns` could be optimized to `uns == 1`Andrew Pinski1-0/+20
2023-08-07MATCH: Extend min_value/max_value to pointer typesAndrew Pinski1-2/+4
2023-08-04tree-optimization/110838 - less aggressively fold out-of-bound shiftsRichard Biener1-0/+4
2023-08-04Fix PR 110874: infinite loop in gimple_bitwise_inverted_equal_p with freAndrew Pinski1-0/+17
2023-08-04match.pd: Canonicalize (signed x << c) >> c [PR101955]Drew Ross1-6/+14
2023-08-02Fix `~X & X` and `~X | X` patternsAndrew Pinski1-2/+4
2023-08-02Move `~X & X` and `~X | X` over to use bitwise_inverted_equal_pAndrew Pinski1-22/+6
2023-08-01Fix PR 93044: extra cast is not removedAndrew Pinski1-0/+10
2023-07-31MATCH: Add `a == b | a cmp b` and `a != b & a cmp b` simplificationsAndrew Pinski1-2/+30
2023-07-31MATCH: PR 106164 : Optimize `(X CMP1 Y) AND/IOR (X CMP2 Y)`Andrew Pinski1-14/+52
2023-07-31tree-optimization: [PR100864] `(a&!b) | b` is not opimized to `a | b` for com...Andrew Pinski1-2/+3
2023-07-27tree-optimization/91838 - fix FAIL of g++.dg/opt/pr91838.CRichard Biener1-0/+10
2023-07-24match.pd: Implement missed optimization (~X | Y) ^ X -> ~(X & Y) [PR109986]Drew Ross1-0/+6
2023-07-21MATCH: Add Max<Max<a,b>,a> -> Max<a,b> simplifcationAndrew Pinski1-1/+5
2023-07-19Fix PR110726: a | (a == b) can sometimes produce wrong codeAndrew Pinski1-3/+9
2023-07-17PR 95923: More (boolean) bitop simplifications in match.pdAndrew Pinski1-0/+15
2023-07-16Fix PR 110666: `(a != 2) == a` produces wrong codeAndrew Pinski1-14/+20
2023-07-13Fix part of PR 110293: `A NEEQ (A NEEQ CST)` partAndrew Pinski1-4/+35
2023-07-04PR 110487: `(a !=/== CST1 ? CST2 : CST3)` pattern for type safetyAndrew Pinski1-16/+8
2023-07-04Fix PR 110487: invalid signed boolean valueAndrew Pinski1-2/+20
2023-07-04middle-end/110495 - avoid associating constants with (VL) vectorsRichard Biener1-13/+15
2023-06-29middle-end/110461 - pattern applying wrongly to vectorsRichard Biener1-0/+1
2023-06-27match.pd: Use element_mode instead of TYPE_MODE.Robin Dapp1-2/+4