diff options
author | Tamar Christina <tamar.christina@arm.com> | 2019-02-07 10:05:57 +0000 |
---|---|---|
committer | Tamar Christina <tnfchris@gcc.gnu.org> | 2019-02-07 10:05:57 +0000 |
commit | 4fcb52c4ef09d1b0f9f7afeb60ccf040cfaa1262 (patch) | |
tree | 55511b4681cc25c631e9558c463aad79842959e4 /gcc/except.c | |
parent | 51e6029f6994e9185f6ba931402bd7f64f891237 (diff) | |
download | gcc-4fcb52c4ef09d1b0f9f7afeb60ccf040cfaa1262.zip gcc-4fcb52c4ef09d1b0f9f7afeb60ccf040cfaa1262.tar.gz gcc-4fcb52c4ef09d1b0f9f7afeb60ccf040cfaa1262.tar.bz2 |
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.
From-SVN: r268612
Diffstat (limited to 'gcc/except.c')
0 files changed, 0 insertions, 0 deletions