https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94524
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|wrong code with vector |[8/9/10 Regression] wrong |modulo operation |code with vector modulo | |operation since r0-117580 CC| |jakub at gcc dot gnu.org Target Milestone|--- |8.5 Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Last reconfirmed| |2020-04-07 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Started with my r0-117580-g4ee4c52c64cc1eeda53aae6e221b5b1bd9bd7421 so I believe this should work correctly in 4.7 (and 4.6 didn't accept it). The vect pattern code tried to follow what the expander does, but in that case there is match.pd rule that canonicalizes x % -C into x % C. Will need to dig up if something in the expansion tweaks the sign of the divisor or if it has the same bug as the vect pattern.