https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103311
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tamar Christina <tnfch...@gcc.gnu.org>: https://gcc.gnu.org/g:4f0a2f5a3ddb1024b885c066a18caae4d733bb6c commit r12-5378-g4f0a2f5a3ddb1024b885c066a18caae4d733bb6c Author: Tamar Christina <tamar.christ...@arm.com> Date: Thu Nov 18 17:10:36 2021 +0000 middle-end: check that both sides of complex expression is a mul. Both sides of the VEC_PERM_EXPR need to be a MULT but the check was accidentally checking if both sides are a mul. The FMS case would be handled by the validate_multiplication but this makes the requirement more explicit and we exit earlier. gcc/ChangeLog: PR tree-optimization/103311 * tree-vect-slp-patterns.c (complex_mul_pattern::matches, complex_fms_pattern::matches): Check for multiplications. gcc/testsuite/ChangeLog: PR tree-optimization/103311 * gcc.target/aarch64/pr103311.c: New test.