https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97251
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Przemyslaw Wirkus <wir...@gcc.gnu.org>: https://gcc.gnu.org/g:d121b3259b77203e62402024add1538c1bdf5fdf commit r10-8885-gd121b3259b77203e62402024add1538c1bdf5fdf Author: Alex Coplan <alex.cop...@arm.com> Date: Wed Sep 30 09:02:47 2020 +0100 arm: Fix ICEs in no-literal-pool.c on MVE [PR97251] This patch fixes ICEs when compiling gcc/testsuite/gcc.target/arm/pure-code/no-literal-pool.c with -mfp16-format=ieee -mfloat-abi=hard -march=armv8.1-m.main+mve -mpure-code. The existing conditions in the movsf/movdf expanders (as well as the no_literal_pool patterns) were too restrictive, requiring TARGET_HARD_FLOAT instead of TARGET_VFP_BASE, which caused unrecognised insns when compiling this testcase with integer MVE and -mpure-code. gcc/ChangeLog: PR target/97251 * config/arm/arm.md (movsf): Relax TARGET_HARD_FLOAT to TARGET_VFP_BASE. (movdf): Likewise. * config/arm/vfp.md (no_literal_pool_df_immediate): Likewise. (no_literal_pool_sf_immediate): Likewise. (cherry picked from commit f63023fafbbc13545fef67e6b32a55b48a945fcf)