aboutsummaryrefslogtreecommitdiff
path: root/gcc/match.pd
AgeCommit message (Expand)AuthorFilesLines
2024-03-15match.pd: Only merge truncation with conversion for -fno-signed-zerosJoe Ramsay1-0/+1
2024-03-07match.pd: Optimize a * !a to 0 [PR114009]Jakub Jelinek1-0/+11
2024-03-01middle-end/114070 - VEC_COND_EXPR foldingRichard Biener1-3/+15
2024-02-26match.pd: Guard 2 simplifications on integral TYPE_OVERFLOW_UNDEFINED [PR114090]Jakub Jelinek1-4/+6
2024-02-26middle-end/114070 - folding breaking VEC_COND expansionRichard Biener1-3/+12
2024-02-19match.pd: Fix ICE on BIT_INSERT_EXPR of BIT_FIELD_REF folding [PR113967]Jakub Jelinek1-1/+3
2024-01-31match: Fix vcond into conditional op folding [PR113607].Robin Dapp1-4/+4
2024-01-31middle-end/110176 - wrong zext (bool) <= (int) 4294967295u foldingRichard Biener1-6/+6
2024-01-12middle-end/113344 - is_truth_type_for vs GENERIC tcc_comparisonRichard Biener1-1/+1
2024-01-11match: Delay folding of 1/x into `(x+1u)<2u?x:0` until late [PR113301]Andrew Pinski1-5/+7
2024-01-11tree-optimization/113126 - vector extension compare optimizationRichard Biener1-4/+5
2024-01-11Optimize A < B ? A : B to MIN_EXPR.liuhongt1-0/+21
2024-01-10middle-end: Don't apply copysign optimization if target does not implement op...Tamar Christina1-5/+17
2024-01-04Match: Improve inverted_equal_p for bool and `^` and `==` [PR113186]Andrew Pinski1-0/+6
2024-01-03Update copyright years.Jakub Jelinek1-1/+1
2023-12-24match: Improve `(a != b) ? (a + b) : (2 * a)` pattern [PR19832]Andrew Pinski1-1/+1
2023-12-15match.pd: Optimize sign-extension followed by truncation [PR113024]Jakub Jelinek1-2/+5
2023-12-14match.pd: Simplify (t * u) / (t * v) [PR112994]Jakub Jelinek1-1/+17
2023-12-14match.pd: Simplify (t * u) / v -> t * (u / v) [PR112994]Jakub Jelinek1-3/+19
2023-12-13tree-optimization/112990 - unsupported VEC_PERM from match patternRichard Biener1-0/+2
2023-12-11MATCH: (convert)(zero_one !=/== 0/1) for outer type and zero_one type are the...Andrew Pinski1-0/+16
2023-12-11Simplify vector ((VCE (a cmp b ? -1 : 0)) < 0) ? c : d to just (VCE ((a cmp b...liuhongt1-0/+22
2023-12-04MATCH: Fix zero_one_valued_p's convert patternAndrew Pinski1-0/+3
2023-11-28MATCH: Fix invalid signed boolean type usageAndrew Pinski1-2/+6
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