https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116569
--- Comment #14 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jennifer Schmitz <jschm...@gcc.gnu.org>: https://gcc.gnu.org/g:6f3b6a451771cd54c98768e7db3c5d58aab2b6aa commit r15-3683-g6f3b6a451771cd54c98768e7db3c5d58aab2b6aa Author: Jennifer Schmitz <jschm...@nvidia.com> Date: Thu Sep 5 08:10:02 2024 -0700 match.pd: Check trunc_mod vector obtap before folding. In the pattern X - (X / Y) * Y to X % Y, this patch guards the simplification for vector types by a check for: 1) Support of the mod optab for vectors OR 2) Application before vector lowering for non-VL vectors. This is to prevent reverting vectorization of modulo to div/mult/sub if the target does not support vector mod optab. The patch was bootstrapped and tested with no regression on aarch64-linux-gnu and x86_64-linux-gnu. OK for mainline? Signed-off-by: Jennifer Schmitz <jschm...@nvidia.com> gcc/ PR tree-optimization/116569 * match.pd: Guard simplification to trunc_mod with check for mod optab support. gcc/testsuite/ PR tree-optimization/116569 * gcc.dg/torture/pr116569.c: New test.