https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66127
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- Like a more complete variant of Index: gcc/tree.c =================================================================== --- gcc/tree.c (revision 223151) +++ gcc/tree.c (working copy) @@ -4402,6 +4402,11 @@ build2_stat (enum tree_code code, tree t PROCESS_ARG (0); PROCESS_ARG (1); + if (code == TRUNC_DIV_EXPR + && (TREE_CODE (arg1) != INTEGER_CST + || integer_zerop (arg1))) + side_effects = 1; + TREE_SIDE_EFFECTS (t) = side_effects; if (code == MEM_REF) {