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

--- Comment #23 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Christophe Lyon
<cl...@gcc.gnu.org>:

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

commit r10-8678-gf8bc014aa47a1b2056e89e50b0ce86ba64d93f3b
Author: Christophe Lyon <christophe.l...@linaro.org>
Date:   Wed Aug 19 09:02:21 2020 +0000

    arm: Fix -mpure-code support/-mslow-flash-data for armv8-m.base [PR94538]

    armv8-m.base (cortex-m23) has the movt instruction, so we need to
    disable the define_split to generate a constant in this case,
    otherwise we get incorrect insn constraints as described in PR94538.

    We also need to fix the pure-code alternative for thumb1_movsi_insn
    because the assembler complains with instructions like
    movs r0, #:upper8_15:1234
    (Internal error in md_apply_fix)
    We now generate movs r0, 4 instead.

    2020-08-24  Christophe Lyon  <christophe.l...@linaro.org>

            PR target/94538
            gcc/
            * config/arm/thumb1.md: Disable set-constant splitter when
            TARGET_HAVE_MOVT.
            (thumb1_movsi_insn): Fix -mpure-code
            alternative.

            PR target/94538
            gcc/testsuite/
            * gcc.target/arm/pure-code/pr94538-1.c: New test.
            * gcc.target/arm/pure-code/pr94538-2.c: New test.

    (cherry picked from commit 259d072067997ab8f55afcf735c91b6740fd0425)

Reply via email to