https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118953
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Priority|P3 |P2 Last reconfirmed| |2025-02-20 Status|UNCONFIRMED |NEW --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. # RANGE [irange] int [-INF, +INF] MASK 0xffffc000 VALUE 0x34 _7 = k_11 + -1048524; switch (_7) <default: <L3> [33.33%], case 8: <L5> [33.33%], case 24: <L4> [33.33%], case 32: <L4> [33.33%]> (k_11 is zero at runtime). EVRP then makes Global Exported: _7 = [irange] int [-INF, 2146435123] MASK 0xffffc000 VALUE 0x34 Global Exported: i_20 = [irange] long unsigned int [45, 45] MASK 0xffffffffffffc07d VALUE 0x0 # RANGE [irange] int [-INF, 2146435123] MASK 0xffffc000 VALUE 0x34 _7 = k_11 + -1048524; d = 45; out of this.