aboutsummaryrefslogtreecommitdiff
path: root/gcc/match.pd
AgeCommit message (Expand)AuthorFilesLines
2021-09-22More NEGATE_EXPR folding in match.pdRoger Sayle1-0/+30
2021-09-19PR middle-end/88173: More constant folding of NaN comparisons.Roger Sayle1-1/+12
2021-09-17PR c/102245: Disable sign-changing optimization for shifts by zero.Roger Sayle1-2/+4
2021-09-16Check mask type when doing cond_op related gimple simplification.liuhongt1-4/+4
2021-09-06match.pd: Fix up __builtin_*_overflow arg demotion [PR102207]Jakub Jelinek1-2/+4
2021-09-06Fix PR tree-optimization/63184: add simplification of (& + A) != (& + B)Andrew Pinski1-0/+15
2021-09-02match.pd: Demote IFN_{ADD,SUB,MUL}_OVERFLOW operands [PR99591]Jakub Jelinek1-0/+15
2021-08-26[Committed] Tidy up !POINTER_TYPE_P test in match.pd LSHIFT_EXPR foldingRoger Sayle1-1/+0
2021-08-24[Committed] PR middle-end/102029: Stricter typing in LSHIFT_EXPR sign folding.Roger Sayle1-1/+3
2021-08-23Fold sign of LSHIFT_EXPR to eliminate no-op conversions.Roger Sayle1-0/+9
2021-08-04Fold (X<<C1)^(X<<C2) to a multiplication when possible.Roger Sayle1-0/+56
2021-07-28match.pd: Fix up recent __builtin_bswap16 simplifications [PR101642]Jakub Jelinek1-3/+5
2021-07-26Fold bswap32(x) != 0 to x != 0 (and related transforms)Roger Sayle1-0/+24
2021-07-12PR tree-optimization/101403: Incorrect folding of ((T)bswap(x))>>CRoger Sayle1-12/+24
2021-07-08match.pd: Relax rule to include POLY_INT_CSTsRichard Sandiford1-1/+1
2021-07-08PR tree-optimization/40210: Fold (bswap(X)>>C1)&C2 to (X>>C3)&C2 in match.pdRoger Sayle1-2/+66
2021-07-05Port most of the A CMP 0 ? A : -A to matchAndrew Pinski1-0/+60
2021-07-05Fix PR 101237: Remove element_type call when used with the functions from realAndrew Pinski1-2/+2
2021-06-29match.pd: Avoid (intptr_t)x eq/ne CST to x eq/ne (typeof x) CST opt in GENERI...Jakub Jelinek1-1/+6
2021-06-11[PATCH] PR tree-optimization/96392 Optimize x+0.0 if x is an integerRoger Sayle1-13/+15
2021-06-09Fix PR 100925: Limit some a?CST1:CST2 optimizations to intergal types onlyAndrew Pinski1-4/+4
2021-05-28Recognize popcount also when a double width operation is needed.Joern Rennecke1-4/+25
2021-05-26Convert remaining passes to get_range_query.Aldy Hernandez1-5/+14
2021-05-26Optimize x < 0 ? ~y : y to (x >> 31) ^ y in match.pdAndrew Pinski1-0/+32
2021-05-26Add a couple of A?CST1:CST2 match and simplify optimizationsAndrew Pinski1-0/+41
2021-05-23Don't simplify (A & C) != 0 ? D : 0 for pointer types.Andrew Pinski1-1/+1
2021-05-20phiopt: Simplify (X & Y) == X -> (X & ~Y) == 0 even in presence of integral c...Jakub Jelinek1-0/+10
2021-05-12match.pd: Optimize (x & y) == x into (x & ~y) == 0 [PR94589]Jakub Jelinek1-0/+12
2021-04-27match.pd: Add some __builtin_ctz (x) cmp cst simplifications [PR95527]Jakub Jelinek1-12/+79
2021-04-27tree-optimization/99776 - relax condition on vector ctor element extractRichard Biener1-5/+13
2021-04-26Move gimplify_buildN API local to only remaining userRichard Biener1-10/+19
2021-04-08match.pd: Fix sve/vcond_3.cRichard Sandiford1-1/+1
2021-03-13match.pd: Don't optimize vector X + (X << C) -> X * (1 + (1 << C)) if there i...Jakub Jelinek1-2/+8
2021-02-25match.pd: Use :s for (T)(A) + CST -> (T)(A + CST) [PR95798]Jakub Jelinek1-1/+1
2021-02-18match.pd: Restrict clz cmp 0 replacement by single_use, PR99142Hans-Peter Nilsson1-2/+2
2021-02-15match.pd: Fix up A % (cast) (pow2cst << B) simplification [PR99079]Jakub Jelinek1-6/+17
2021-01-22match.pd: Replace incorrect simplifications into copysign [PR90248]Jakub Jelinek1-30/+16
2021-01-20Optimize combination of comparisons to dec+compareEugene Rozenfeld1-0/+14
2021-01-16match.pd: Optimize ((cst << x) & 1) [PR96669]Jakub Jelinek1-0/+7
2021-01-15match.pd: Generalize the PR64309 simplifications [PR96669]Jakub Jelinek1-4/+17
2021-01-15match.pd: Optimize (x < 0) ^ (y < 0) to (x ^ y) < 0 etc. [PR96681]Jakub Jelinek1-0/+18
2021-01-14match.pd: Optimize ~(X >> Y) to ~X >> Y if ~X can be simplified [PR96688]Jakub Jelinek1-0/+12
2021-01-13match.pd: Fold (~X | C) ^ D into (X | C) ^ (~D ^ C) if (~D ^ C) can be simpli...Jakub Jelinek1-1/+11
2021-01-13tree-optimization/92645 - avoid harmful early BIT_FIELD_REF canonicalizationRichard Biener1-0/+2
2021-01-05match.pd: Improve (A / (1 << B)) -> (A >> B) optimization [PR96930]Jakub Jelinek1-2/+6
2021-01-04match.pd: Fold x == ~x to false [PR96782]Jakub Jelinek1-0/+7
2021-01-04Update copyright years.Jakub Jelinek1-1/+1
2020-12-31match.pd: Add clz(X) == 0 -> (int)X < 0 etc. simpifications [PR94802]Jakub Jelinek1-0/+33
2020-12-31match.pd: Add (-(X < 0) | 1) * X -> abs (X) etc. simplifications [PR94785]Jakub Jelinek1-0/+16
2020-12-15match.pd: Optimize X / bool_range_Y to X [PR96094]Jakub Jelinek1-4/+9