https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117244
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- For my reduced testcase: from vect dump with details >/app/example.cpp:3:23: note: _4 has no range info Huh? # RANGE [irange] unsigned int [0, 0][+INF, +INF] _4 = -t_9; It has a range of just 0/~0. In the sign case we have: ``` /app/example.cpp:3:23: note: _4 has range [0xffffffff, 0x0] /app/example.cpp:3:23: note: can narrow to signed:1 without loss of precision: _4 = -t_9; ```