https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122858
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-15 branch has been updated by Christophe Lyon <[email protected]>: https://gcc.gnu.org/g:4d8f72b510bf12a5ac7dc5cfa642640d5d0fa0ed commit r15-10566-g4d8f72b510bf12a5ac7dc5cfa642640d5d0fa0ed Author: Christophe Lyon <[email protected]> Date: Wed Nov 26 13:03:37 2025 +0000 arm: Fix constraints in MVE asrl and lsll patterns [PR122858] The second alternative for operand 1 needs a new constraint which does not overlap with Pg, except that it can handle 32 to generate an optimal mov. This patch introduces a new Ph constraint which has the [32..255] range. This fixes a lot of regressions when running the testsuite for an MVE target such as -march=armv8.1-m.main+mve.fp+fp.dp -mfloat-abi=hard. gcc/ChangeLog: PR target/122858 * config/arm/constraints.md (Ph): New constraint. * config/arm/mve.md (mve_asrl_imm, mve_lsll_imm): Fix constraints of operand 1 and handle 32 as special shift amount. gcc/testsuite/ChangeLog: PR target/122858 * gcc.target/arm/mve/pr122858.c: New test. (cherry picked from commit cf78d402655d5fc9cb8780cb8837889afbe17ff6)
