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


Ping?
http://gcc.gnu.org/ml/gcc-patches/2012-12/msg01197.html

On 16 January 2013 14:46, Christophe Lyon <christophe.lyon@linaro.org> wrote:
> Ping^2 ?
>
>
> On 8 January 2013 17:24, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>> Ping?
>> http://gcc.gnu.org/ml/gcc-patches/2012-12/msg01197.html
>>
>> Thanks,
>>
>> Christophe
>>
>> On 19 December 2012 16:59, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>>> On 17 December 2012 16:12, Richard Earnshaw <rearnsha@arm.com> wrote:
>>>> On 29/11/12 17:16, Christophe Lyon wrote:
>>>>> On trunk I have noticed a regression in gfortran when using modulo
>>>>> scheduling: sms-1.f90 now fails, but I suspect it's not because of
>>>>> this patch since forcing compilation for armv5t makes the same test
>>>>> fail with and without my patch.
>>>>>
>>>>
>>>> Hmm, that's worrying.  Could you please makesure this is recorded in
>>>> bugzilla.  If this is a regression, please mark it as such.
>>>>
>>> I was about to do so, but after bisecting it turns out that the
>>> problem was introduced by
>>> http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192969 and is very
>>> likely to be another instance of PR55562, which has just been fixed
>>> by http://gcc.gnu.org/ml/gcc-patches/2012-12/msg01137.html.
>>>
>>>
>>>>
>>>> Now that this optimization is disabled by default, the onlya8 code is
>>>> completely redundant and should be purged, along with the insn alternatives
>>>> that used it.
>>>>
>>>> R.
>>>>
>>> Here is a new version of my patch, with the cleanup you requested.
>>>
>>> 2012-12-18  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. 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.


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