https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116074
--- Comment #10 from GCC 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:29e4e4bdb674118b898d50ce7751c183aa0a44ee commit r15-2336-g29e4e4bdb674118b898d50ce7751c183aa0a44ee Author: Tamar Christina <tamar.christ...@arm.com> Date: Fri Jul 26 13:02:53 2024 +0100 middle-end: check for vector mode before calling get_mask_mode [PR116074] For historical reasons AArch64 has TI mode vector types but does not consider TImode a vector mode. What's happening in the PR is that get_vectype_for_scalar_type is returning vector(1) TImode for a TImode scalar. This then fails when we call targetm.vectorize.get_mask_mode (vecmode).exists (&) on the TYPE_MODE. This checks for vector mode before using the results of get_vectype_for_scalar_type. gcc/ChangeLog: PR target/116074 * tree-vect-patterns.cc (vect_recog_cond_store_pattern): Check vector mode. gcc/testsuite/ChangeLog: PR target/116074 * g++.target/aarch64/pr116074.C: New test.