https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116569
--- Comment #7 from Jennifer Schmitz <jschmitz at gcc dot gnu.org> --- Thanks for the quick reply. I tried (simplify (minus (convert1? @0) (convert2? (mult:c (trunc_div @@0 @@1) @1))) (if (INTEGRAL_TYPE_P (type) || (VECTOR_INTEGER_TYPE_P (type) && optimize_vectors_before_lowering_p ())) (convert (trunc_mod @0 @1)))) and the result is that the test case still ICEs, but fold-minus-1.c passes.