]> git.ipfire.org Git - thirdparty/gcc.git/commit
MATCH: Simplify `min(a, b) op max(a, b)` to `a op b` [PR109401]
authorEikansh Gupta <quic_eikagupt@quicinc.com>
Mon, 11 Nov 2024 11:55:45 +0000 (17:25 +0530)
committerAndrew Pinski <quic_apinski@quicinc.com>
Sat, 16 Nov 2024 19:10:49 +0000 (11:10 -0800)
commit5eadc673366c68a62264c55a570cbdfca96bbbaa
treefac8f699c2433fba894918ab52226a758f06da35
parent94bea5dd6c9a06ddb6244be1e5196ff5fbe2b186
MATCH: Simplify `min(a, b) op max(a, b)` to `a op b` [PR109401]

This patch simplify `min(a,b) op max(a,b)` to `a op b`. This optimization
will work for all the binary commutative operations. So, the `op` here can
be one of {plus, mult, bit_and, bit_xor, bit_ior, eq, ne, min, max}.

PR tree-optimization/109401

gcc/ChangeLog:

* match.pd (min(a,b) op max(a,b) -> a op b): New pattern.

gcc/testsuite/ChangeLog:

* gcc.dg/tree-ssa/pr109401.c: New test.
* gcc.dg/tree-ssa/pr109401-1.c: New test.

Signed-off-by: Eikansh Gupta <quic_eikagupt@quicinc.com>
gcc/match.pd
gcc/testsuite/gcc.dg/tree-ssa/pr109401-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr109401.c [new file with mode: 0644]