https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82072
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Yeah, one thing is the trunc1: case that uses do_narrow (for MINUS_EXPR/PLUS_EXPR/MULT_EXPR), another thing is that the LSHIFT/RSHIFT_EXPR narrowing might be problematic for -fsanitize=shift (needs to be verified), another thing is the NEGATE_EXPR case, and another thing to verify is the division narrowing.