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: [PATCH ARM] Improve ARM memset inlining


On Tue, Jul 8, 2014 at 9:56 AM, Ramana Radhakrishnan
<ramana.radhakrishnan@arm.com> wrote:
>>
>> Hi Ramana,
>> This is the rebased patch, there is no conflict against latest trunk.  I
>> am still doing some tests.  Is it OK if tests are fine?
>> Also, it depends on patch at
>> https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01923.html, I will update that
>> patch two.
>>
>> Thanks,
>> bin
>
>
>> Index: gcc/config/arm/arm.c
>> ===================================================================
>> --- gcc/config/arm/arm.c        (revision 212295)
>> +++ gcc/config/arm/arm.c        (working copy)
>> @@ -1588,34 +1588,38 @@ const struct tune_params arm_slowmul_tune =
>>  {
>>    arm_slowmul_rtx_costs,
>>    NULL,
>> -  NULL,                                                /* Sched adj cost.
>> */
>> -  3,                                           /* Constant limit.  */
>> -  5,                                           /* Max cond insns.  */
>> +  NULL,                                        /* Sched adj cost.  */
>> +  3,                                   /* Constant limit.  */
>> +  5,                                   /* Max cond insns.  */
>
>
> Please make sure alignment is maintained with comments as today. I'm not
> sure why I see the following diffs in your patch since you don't really
> should be touching those lines, that applies to all the cost tables. I
> haven't called out all the places where you appear to have unrelated
> formatting changes in detail, but have done so in one cost table.
>
> Please re-create a patch that doesn't have these hunks.
>
Here is the updated patch, and I followed the format and left the
alignment as it is now.

Thanks,
bin


2014-07-08  Bin Cheng  <bin.cheng@arm.com>

    PR target/55701
    * config/arm/arm.md (setmem): New pattern.
    * config/arm/arm-protos.h (struct tune_params): New fields.
    (arm_gen_setmem): New prototype.
    * config/arm/arm.c (arm_slowmul_tune): Initialize new fields.
    (arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
    (arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
    (arm_cortex_a8_tune, arm_cortex_a7_tune): Ditto.
    (arm_cortex_a15_tune, arm_cortex_a53_tune): Ditto.
    (arm_cortex_a57_tune, arm_cortex_a5_tune): Ditto.
    (arm_cortex_a9_tune, arm_cortex_a12_tune): Ditto.
    (arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
    (arm_const_inline_cost): New function.
    (arm_block_set_max_insns): New function.
    (arm_block_set_non_vect_profit_p): New function.
    (arm_block_set_vect_profit_p): New function.
    (arm_block_set_unaligned_vect): New function.
    (arm_block_set_aligned_vect): New function.
    (arm_block_set_unaligned_non_vect): New function.
    (arm_block_set_aligned_non_vect): New function.
    (arm_block_set_vect, arm_gen_setmem): New functions.

gcc/testsuite/ChangeLog
2014-07-08  Bin Cheng  <bin.cheng@arm.com>

    PR target/55701
    * gcc.target/arm/memset-inline-1.c: New test.
    * gcc.target/arm/memset-inline-2.c: New test.
    * gcc.target/arm/memset-inline-3.c: New test.
    * gcc.target/arm/memset-inline-4.c: New test.
    * gcc.target/arm/memset-inline-5.c: New test.
    * gcc.target/arm/memset-inline-6.c: New test.
    * gcc.target/arm/memset-inline-7.c: New test.
    * gcc.target/arm/memset-inline-8.c: New test.
    * gcc.target/arm/memset-inline-9.c: New test.

Attachment: j1328-20140708.txt
Description: Text document


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