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

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #10 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Screwed up the PR format, but committed to trunk

268612 | tnfchris | 2019-02-07 10:05:57 +0000 (Thu, 07 Feb 2019) | 21 lines

Arm: Fix NEON REG to REG reload failures. (PR/target 88850)

We currently return cost 2 for NEON REG to REG moves, which would be incorrect
for 64 bit moves.  We currently don't have a pattern for this in the neon_move
alternatives because this is a bit of a special case.  We would almost never
want it to use this r -> r pattern unless it really has no choice.

As such we add a new neon r -> r move pattern but also hide it from being used
to determine register preferences and also disparage it during LRA.

gcc/ChangeLog:

        PR/target 88850
        * config/arm/neon.md (*neon_mov<mode>): Add r -> r case.

gcc/testsuite/ChangeLog:

        PR/target 88850
        * gcc.target/arm/pr88850.c: New test.

Reply via email to