https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97251

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Alex Coplan <acop...@gcc.gnu.org>:

https://gcc.gnu.org/g:f63023fafbbc13545fef67e6b32a55b48a945fcf

commit r11-3545-gf63023fafbbc13545fef67e6b32a55b48a945fcf
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.

Reply via email to