aboutsummaryrefslogtreecommitdiff
path: root/gcc/match.pd
AgeCommit message (Expand)AuthorFilesLines
2023-11-28match.pd: Fix parity (X) ^ parity (Y) simplification [PR112719]Jakub Jelinek1-1/+8
2023-11-28match.pd: Fix popcount (X) + popcount (Y) simplification [PR112719]Jakub Jelinek1-2/+7
2023-11-27tree-optimization/112706 - missed simplification of conditionRichard Biener1-0/+9
2023-11-24match.pd: Avoid simplification into invalid BIT_FIELD_REFs [PR112673]Jakub Jelinek1-1/+3
2023-11-17match.pd: Optimize ctz/popcount/parity/ffs on extended argument [PR112566]Jakub Jelinek1-2/+181
2023-11-14Add type-generic clz/ctz/clrsb/ffs/parity/popcount builtins [PR111309]Jakub Jelinek1-54/+148
2023-11-10middle-end/112469 - fix missing converts in vec_cond_expr simplificationRichard Biener1-4/+4
2023-11-09ifcvt: Add support for conditional copysignTamar Christina1-3/+3
2023-11-09middle-end: optimize fneg (fabs (x)) to copysign (x, -1) [PR109154]Tamar Christina1-3/+7
2023-11-09middle-end: expand copysign handling from lockstep to nested itersTamar Christina1-24/+24
2023-11-06internal-fn: Add VCOND_MASK_LEN.Robin Dapp1-0/+51
2023-10-31match.pd: Support combine cond_len_op + vec_cond similar to cond_opLehua Ding1-0/+39
2023-10-30MATCH: Add some more value_replacement simplifications to matchAndrew Pinski1-0/+18
2023-10-30MATCH: first of the value replacement moving from phioptAndrew Pinski1-0/+14
2023-10-27MATCH: Simplify `(X &| B) CMP X` if possible [PR 101590]Andrew Pinski1-0/+24
2023-10-26match: Simplify `a != C1 ? abs(a) : C2` when C2 == abs(C1) [PR111957]Andrew Pinski1-0/+10
2023-10-24match: Fix the `popcnt(a&b) + popcnt(a|b)` pattern for types [PR111913]Andrew Pinski1-1/+1
2023-10-23move the (a-b) CMP 0 ? (a-b) : (b-a) optimization from fold_cond_expr_with_co...Andrew Pinski1-3/+43
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