re PR target/63724 ([AArch64] Inefficient immediate expansion and hoisting.)
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>
Fri, 14 Nov 2014 09:44:17 +0000 (09:44 +0000)
committerRamana Radhakrishnan <ramana@gcc.gnu.org>
Fri, 14 Nov 2014 09:44:17 +0000 (09:44 +0000)
commit8261494856f9478e0393d5bd9be26961d16f266f
tree405852c9f46c6941a9f2aa536cd399b84b7c1478
parenta7f24614b3c58d03f40d55fe195056dd8423f8f5
re PR target/63724 ([AArch64] Inefficient immediate expansion and hoisting.)

Fix PR target/63724

2014-11-14  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/63724
        * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Split out
        numerical immediate handling to...
        (aarch64_internal_mov_immediate): ...this. New.
        (aarch64_rtx_costs): Use aarch64_internal_mov_immediate.
        (aarch64_mov_operand_p): Relax predicate.
        * config/aarch64/aarch64.md (mov<mode>:GPI): Do not expand CONST_INTs.
        (*movsi_aarch64): Turn into define_insn_and_split and new alternative
        for 'n'.
        (*movdi_aarch64): Likewise.

From-SVN: r217546
gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md