https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99370
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The problem is since this transformation is done during optimization, it could be done on a path that is not executed at all. This is why -fsanitize=undefined/-fsanitize=unreachable should be used if you want to detect it at runtime.