[ARM] Turning off 64bits ops in Neon
commitb6779ddc3bd4090bc70f3b6a3a4d0c505d069a41
authorclyon <clyon@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Mar 2013 14:26:23 +0000 (21 14:26 +0000)
committerclyon <clyon@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Mar 2013 14:26:23 +0000 (21 14:26 +0000)
treeb9768087119317b4802f80b8ca8770053b66d8b3
parent7894a3d9f98538392164b93eecd79b4f440eda45
[ARM] Turning off 64bits ops in Neon

2013-03-21  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* config/arm/arm-protos.h (tune_params): Add
prefer_neon_for_64bits field.
* config/arm/arm.c (prefer_neon_for_64bits): New variable.
(arm_slowmul_tune): Default prefer_neon_for_64bits to false.
(arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
(arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
(arm_cortex_a15_tune, arm_cortex_a5_tune): Ditto.
(arm_cortex_a9_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
(arm_option_override): Handle -mneon-for-64bits new option.
* config/arm/arm.h (TARGET_PREFER_NEON_64BITS): New macro.
(prefer_neon_for_64bits): Declare new variable.
* config/arm/arm.md (arch): Rename neon_onlya8 and neon_nota8 to
avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and
nota8.
(arch_enabled): Handle new arch types. Remove support for onlya8
and nota8.
(one_cmpldi2): Use new arch names.
* config/arm/arm.opt (mneon-for-64bits): Add option.
* config/arm/neon.md (adddi3_neon, subdi3_neon, iordi3_neon)
(anddi3_neon, xordi3_neon, ashldi3_neon, <shift>di3_neon): Use
neon_for_64bits instead of nota8 and avoid_neon_for_64bits instead
of onlya8.
* doc/invoke.texi (-mneon-for-64bits): Document.

gcc/testsuite:
* gcc.target/arm/neon-for-64bits-1.c: New tests.
* gcc.target/arm/neon-for-64bits-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196876 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/arm/arm.md
gcc/config/arm/arm.opt
gcc/config/arm/neon.md
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/neon-for-64bits-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/neon-for-64bits-2.c [new file with mode: 0644]