Remove remaining uses of * in patterns
authorWilco Dijkstra <wdijkstr@arm.com>
Mon, 14 May 2018 16:10:19 +0000 (16:10 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Mon, 14 May 2018 16:10:19 +0000 (16:10 +0000)
commit43d0a8ee88460a1161264c0c1a68e063493c3f20
tree44e1246b59c6120267ce28e74973f7eff0bf4c47
parent2717c64d76529901bb780ca1bd08a63fcf785cd7
Remove remaining uses of * in patterns

Remove the remaining uses of '*' from aarch64.md.
Using '*' in alternatives is typically incorrect as it tells the register
allocator to ignore those alternatives.  Also add a missing '?' so we
prefer a floating point register for same-size int<->fp conversions.

    gcc/
* config/aarch64/aarch64.md (mov<mode>): Remove '*' in alternatives.
(movsi_aarch64): Likewise.
(load_pairsi): Likewise.
(load_pairdi): Likewise.
(store_pairsi): Likewise.
(store_pairdi): Likewise.
(load_pairsf): Likewise.
(load_pairdf): Likewise.
(store_pairsf): Likewise.
(store_pairdf): Likewise.
(zero_extend): Likewise.
(trunc): Swap alternatives.
(fcvt_target): Add '?' to prefer w over r.

    testsuite/
* gcc.target/aarch64/vmov_n_1.c: Update test.
* gcc.target/aarch64/vfp-1.c: Update test.

From-SVN: r260233
gcc/ChangeLog
gcc/config/aarch64/aarch64.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/vfp-1.c
gcc/testsuite/gcc.target/aarch64/vmov_n_1.c