2017-07-28 Tamar Christina <tamar.christina@arm.com>
commita38a83dd5c799892b64b3f8a4450a68df5d50b94
authortnfchris <tnfchris@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Jul 2017 15:11:25 +0000 (28 15:11 +0000)
committertnfchris <tnfchris@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Jul 2017 15:11:25 +0000 (28 15:11 +0000)
tree2963cee770d72575de78475ef6ee296e53fe7835
parente33b3a13d8055c1bfeb7a733c17dc919b18cfe38
2017-07-28  Tamar Christina  <tamar.christina@arm.com>

* config/aarch64/aarch64.c
(aarch64_simd_container_mode): Add prototype.
(aarch64_expand_mov_immediate): Add HI support.
(aarch64_reinterpret_float_as_int, aarch64_float_const_rtx_p: New.
(aarch64_can_const_movi_rtx_p): New.
(aarch64_preferred_reload_class):
Remove restrictions of using FP registers for certain SIMD operations.
(aarch64_rtx_costs): Added new cost for CONST_DOUBLE moves.
(aarch64_valid_floating_const): Add integer move validation.
(aarch64_simd_imm_scalar_p): Remove.
(aarch64_output_scalar_simd_mov_immediate): Generalize function.
(aarch64_legitimate_constant_p): Expand list of supported cases.
* config/aarch64/aarch64-protos.h
(aarch64_float_const_rtx_p, aarch64_can_const_movi_rtx_p): New.
(aarch64_reinterpret_float_as_int): New.
(aarch64_simd_imm_scalar_p): Remove.
* config/aarch64/constraints.md (Uvi): New.
(Dd): Split into Ds and new Dd.
* config/aarch64/aarch64.md (*movsi_aarch64):
Add SIMD mov case.
(*movdi_aarch64): Add SIMD mov case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250672 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/constraints.md