This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ARM] Turning off 64bits ops in Neon and gfortran/modulo-scheduling problem


On 29 November 2012 21:59, Joseph S. Myers <joseph@codesourcery.com> wrote:
> On Thu, 29 Nov 2012, Christophe Lyon wrote:
>
>> 2012-11-28  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_a5_tune, arm_cortex_a15_tune): Ditto.
>>     (arm_cortex_a9_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.
>>     (arch_enabled): Handle new arch types.
>>     (one_cmpldi2): Use new arch names.
>>     * 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.
>
> This ChangeLog entry doesn't appear to mention the arm.opt change.
> Furthermore, the patch seems to be missing any .texi change to document
> the option; any new option needs documentation.  You are also missing
> testcases for the testsuite to verify that both enabled and disabled
> states of the option work properly.
>
Indeed, I forgot about the documentation; here is an updated patch.

Regarding the testcases, as this patch disables transformations
recently introduced, I would have appreciated if testcases had been
associated with them in the 1st place.... This requirement should be
enforced :-)

Tested with qemu on target arm-none-linux-gnueabi.


2012-11-30  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_a5_tune, arm_cortex_a15_tune): Ditto.
    (arm_cortex_a9_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.
    (arch_enabled): Handle new arch types.
    (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.

Attachment: turn-off-64bits-neon.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]