aboutsummaryrefslogtreecommitdiff
path: root/gcc/match.pd
AgeCommit message (Expand)AuthorFilesLines
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
2023-06-23[aarch64/match.pd] Fix ICE observed in PR110280.Prathamesh Kulkarni1-1/+8
2023-06-23Use element_precision for match.pd arith conversion optimizationRichard Biener1-4/+4
2023-06-23Bogus and missed folding on vector comparesRichard Biener1-2/+2
2023-06-16tree-optimization/110278 - uns < (typeof uns)(uns != 0) is always falseRichard Biener1-0/+11
2023-06-16tree-optimization/110269 - restore missed condition foldingRichard Biener1-2/+2
2023-06-09Add Plus to the op list of `(zero_one == 0) ? y : z <op> y` patternAndrew Pinski1-2/+2
2023-06-09Change the `(zero_one ==/!= 0) ? y : z <op> y` patterns to use multiply rathe...Andrew Pinski1-4/+4
2023-06-09MATCH: Allow unsigned types for `X & -Y -> X * Y` patternAndrew Pinski1-1/+4
2023-06-09MATCH: Fix zero_one_valued_p not to match signed 1 bit integersAndrew Pinski1-3/+10
2023-06-09middle-end/110182 - TYPE_PRECISION on VECTOR_TYPE causes wrong-codeRichard Biener1-3/+3
2023-06-07MATCH: Fix comment for `(zero_one ==/!= 0) ? y : z <op> y` patternsAndrew Pinski1-2/+2
2023-06-07match.pd: Improve zero_one_valued_pJakub Jelinek1-5/+2
2023-06-06For the `-A CMP -B -> B CMP A` pattern allow EQ/NE for all integer typesAndrew Pinski1-2/+6
2023-06-06Add match patterns for `a ? onezero : onezero` where one of the two operands ...Andrew Pinski1-0/+18
2023-06-06Match: zero_one_valued_p should match 0 constants tooAndrew Pinski1-0/+5
2023-05-30Add a != MIN/MAX_VALUE_CST ? CST-+1 : a to minmax_from_comparisonAndrew Pinski1-2/+2
2023-05-30MATCH: Move `a <= CST1 ? MAX<a, CST2> : a` optimization to matchAndrew Pinski1-0/+18
2023-05-29Fix artificial overflow during GENERIC foldingEric Botcazou1-0/+9
2023-05-24PR middle-end/109840: Preserve popcount/parity type in match.pd.Roger Sayle1-10/+17
2023-05-21atch.pd: Ensure (op CONSTANT_CLASS_P CONSTANT_CLASS_P) is simplified [PR109505]Jakub Jelinek1-10/+10
2023-05-16MATCH: [PR109424] Simplify min/max of boolean argumentsAndrew Pinski1-0/+8
2023-05-14MATCH: Add pattern for `signbit(x) ? x : -x` into abs (and swapped)Andrew Pinski1-0/+10
2023-05-12MATCH: Fix PR 109834, ICE with popcount combined with bswapAndrew Pinski1-2/+2
2023-05-12tree-optimization/109791 - simplify (unsigned)&foo - (unsigned)(&foo + o)Richard Biener1-0/+12
2023-05-11aarch64: convert vector shift + bitwise and + multiply to vector comparemtsamis1-0/+61
2023-05-11match.pd: Simplify popcount(X&Y)+popcount(X|Y) as popcount(X)+popcount(Y)Roger Sayle1-0/+19
2023-05-11match.pd: Simplify popcount/parity of bswap/rotate.Roger Sayle1-0/+50
2023-05-05MATCH: Add ABSU<a> == 0 to a == 0 simplificationAndrew Pinski1-5/+6
2023-05-02MATCH: Port CLRSB part of builtin_zero_patternAndrew Pinski1-0/+8
2023-05-02tree-optimization: [PR109702] MATCH: Fix a ? func(a) : N patternsAndrew Pinski1-8/+8
2023-04-30MATCH: add some of what phiopt's builtin_zero_pattern didAndrew Pinski1-2/+39
2023-04-28PHIOPT: Move two_value_replacement to match.pdAndrew Pinski1-0/+94
2023-04-28MATCH: Add patterns from phiopt's minmax_replacementAndrew Pinski1-0/+16
2023-04-28MATCH: Factor out code that for min max detection with constantsAndrew Pinski1-28/+1
2023-04-27wrong GIMPLE from (bit_field_ref CTOR ..) simplificationRichard Biener1-2/+7
2023-04-26Remove some uses of deprecated irange API.Aldy Hernandez1-5/+5
2023-04-22match.pd: Fix fneg/fadd optimization [PR109583]Jakub Jelinek1-1/+2
2023-04-18match.pd: Improve fneg/fadd optimization [PR109240]Jakub Jelinek1-54/+67
2023-04-04sanitizer: missing signed integer overflow errors [PR109107]Marek Polacek1-3/+3
2023-03-26match.pd: Fix up fneg/fadd simplification [PR109230]Jakub Jelinek1-0/+1
2023-02-18Remove #if GIMPLE around 1 - a patternAndrew Pinski1-2/+0
2023-02-14Simplify "1 - bool_val" to "bool_val ^ 1"Andrew Pinski1-0/+13
2023-02-09match.pd: Simplify BFR of insert when extracting exactly all inserted bits [P...Jakub Jelinek1-3/+6
2023-02-09match.pd: When simplifying BFR of an insert, require a mode precision integra...Andrew Pinski1-1/+3
2023-01-27Add support for conditional xorsign [PR96373]Richard Sandiford1-0/+14