Remove '*' from movsi/di/ti patterns
authorWilco Dijkstra <wilco@gcc.gnu.org>
Tue, 12 Sep 2017 16:27:47 +0000 (16:27 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Tue, 12 Sep 2017 16:27:47 +0000 (16:27 +0000)
commitff76f0b5f6e6a4144fabb9ae984a9ee9dcaa2d08
tree7c26e31da45770497211be9a1446f5a34d506638
parent7d843469d535284337793796ae38ec67b44e1ef3
Remove '*' from movsi/di/ti patterns

Remove the remaining uses of '*' from the movsi/di/ti patterns.
Using '*' in alternatives is typically incorrect at it tells the register
allocator to ignore those alternatives.  So remove these from all the
integer move patterns.  This removes unnecessary int to float moves, for
example gcc.target/aarch64/pr62178.c no longer generates a redundant fmov
since the w = m variant is now allowed.

    gcc/
* config/aarch64/aarch64.md (movsi_aarch64): Remove all '*'.
(movdi_aarch64): Likewise.
(movti_aarch64): Likewise.

From-SVN: r252033
gcc/ChangeLog
gcc/config/aarch64/aarch64.md