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

            Bug ID: 122426
           Summary: [16 Regression] Recent change in ranger causing
                    multiple target to regress pr111003.c test
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: law at gcc dot gnu.org
  Target Milestone: ---

This change:

commit 3d102b7a40bd179c93eccc31b74f95c69f81f45e
Author: Andrew MacLeod <[email protected]>
Date:   Tue Oct 21 16:05:22 2025 -0400

    Create and apply bitmasks for truncating casts.

    When folding a cast, we were not applying the bitmask if we reached
    a VARYING result.
    We were also not creating a bitmask to represent the lower bits of a
    truncating cast in op1_range.  So GORI was losing bits.

            PR tree-optimization/118254
            PR tree-optimization/114331
            gcc/
            * range-op.cc (operator_cast::fold_range): When VARYING is
            reached, update the bitmask if we reach VARYING.
            (operator_cast::op1_range): For truncating casts, create a
            bitmask bit in LHS.

            gcc/testsuite/
            * gcc.dg/pr114331.c: New.
            * gcc.dg/pr118254.c: New.

Is causing multiple targets to regress tree-ssa/pr111003.c.

It looks like we're not realizing the call to "foo" can't actually be reached. 
I haven't looked into any details why.

So far seen on ft32-elf, msp430-elf, fr30-elf, and m32r-elf.   There's probably
more showing this behavior, results of the latest tester run are still in
flight.

Reply via email to