https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100925
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |12.0 Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #4) > It was exposed by r12-1152. > > Phi-opt produces this now: > _9 = _3 != 0B; > _10 = (<<< Unknown tree: offset_type >>>) _9; > _11 = -_10; > /// The above is new > > _6 = _3 != 0B; > _7 = _11 != -1; > _8 = _6 & _7; > > ----- CUT ---- > before reassoc we have: > _9 = _3 != 0B; > _10 = (<<< Unknown tree: offset_type >>>) _9; > _11 = -_10; > _7 = _11 != -1; > _8 = _7 & _9; > ---- CUT --- > > But _9 and _7 will always have the same value even. The problem is r12-1055 really which causes the offset type to used here. I need a check for INTEGRAL_TYPE_P to avoid this.