https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118953

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The _7 range looks correct.  And given
Global Exported: _7 = [irange] int [-INF, 2146435123] MASK 0xffffc000 VALUE
0x34
I wonder why
Folding statement: switch (_7) <default: <L5> [33.33%], case 8: <L7> [33.33%],
case 24: <L6> [33.33%], case 32: <L6> [33.33%]>
Not folded
- neither 8, nor 24 nor 32 has the low 14 bits equal to 0x34, so I think it
could be folded into just the default.
Global Exported: i_20 = [irange] long long unsigned int [45, 45] MASK
0xffffffffffffc07d VALUE 0x0
is certainly wrong for
  # i_20 = PHI <_3(4), 0(3), _6(2)>
where
Global Exported: _3 = [irange] long long unsigned int [0,
2146435116][18446744071561019437, +INF] MASK 0xffffffffffffc000 VALUE 0x2d
and
Global Exported: _6 = [irange] long long unsigned int [0,
2146435160][18446744071562067968, +INF] MASK 0xffffffffffffc000 VALUE 0x59
45 == 0x2d.

Reply via email to