[ARM][PR82989] Fix unexpected use of NEON instructions for shifts
authorSudakshina Das <sudi.das@arm.com>
Tue, 20 Mar 2018 10:54:42 +0000 (10:54 +0000)
committerSudakshina Das <sudi@gcc.gnu.org>
Tue, 20 Mar 2018 10:54:42 +0000 (10:54 +0000)
commit094daefb7b79201ee5b39b07a64f9947524e6b2d
treead88df4dad7de2ec94ab8b527e66d64c52e57485
parent038012e2d9211e56a2d6710a85314373af9d4d44
[ARM][PR82989] Fix unexpected use of NEON instructions for shifts

This patch fixes PR82989 so that we avoid NEON instructions when
-mneon-for-64bits is not enabled. This is more of a short term fix
for the real deeper problem of making an early decision of choosing
or rejecting NEON instructions. There is now a new ticket PR84467 to
deal with the longer term solution.
(Please refer to the discussion in the bug report for more details).

Sudi

*** gcc/ChangeLog ***

2018-03-20  Sudakshina Das  <sudi.das@arm.com>

PR target/82989
* config/arm/neon.md (ashldi3_neon): Update ?s for constraints
to favor GPR over NEON registers.
(<shift>di3_neon): Likewise.

*** gcc/testsuite/ChangeLog ***

2018-03-20  Sudakshina Das  <sudi.das@arm.com>

PR target/82989
* gcc.target/arm/pr82989.c: New test.

From-SVN: r258677
gcc/ChangeLog
gcc/config/arm/neon.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/pr82989.c [new file with mode: 0644]