On 6/15/2026 2:55 PM, Kael Andrew Franco wrote:
From 045a3b18715f06398c4ad7bdc2264c7ea231d579 Mon Sep 17 00:00:00 2001 From: Kael Andrew Alonzo Franco <[email protected]> Date: Mon, 15 Jun 2026 14:54:28 -0400 Subject: [PATCH] match: Optimize bit_ior/bit_and {bit_not} rshift to min/max [PR125641] Fold x | (x >> (TYPE_PRECISION (type) - 1)) to max (x, -1) Fold x | (~ (x >> (TYPE_PRECISION (type) - 1))) to min (x, -1) Fold x & (x >> (TYPE_PRECISION (type) - 1)) to min (x, 0) Fold x & (~ (x >> (TYPE_PRECISION (type) - 1))) to max (x, 0) Bootstrapped and tested on x86_64-pc-linux-gnu PR tree-optimization/125641 gcc/ChangeLog: PR tree-optimization/125641 * match.pd: Add bit_ior/bit_and {bit_not} rshift to min/max. gcc/testsuite/ChangeLog: PR tree-optimization/125641 * gcc.dg/pr125641.c: New test.
Thanks. I've pushed this to the trunk. jeff
