diff mbox

Memset/memcpy patch

Message ID 78E5177D-1788-4F87-9A99-70C29E3BC3D7@sandoe-acoustics.co.uk
State New
Headers show

Commit Message

Iain Sandoe Nov. 14, 2011, 8:40 p.m. UTC
On 14 Nov 2011, at 20:36, H.J. Lu wrote:

> 2011/11/14 Jan Hubicka <hubicka@ucw.cz>:
>>> On Mon, Nov 14, 2011 at 9:03 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>>> Hi,
>>>> this is hopefully final variant of patch. The epilogue code was  
>>>> broken in some
>>>> scenarios for memset, but should work safely now.  I also fixed  
>>>> the tables for
>>>> core/buldozer/amdfam10 chips.
>>>>
>>>> But before it can be comitted, we need to reoslve copyright  
>>>> assignment issues.
>>>> You don't seem to be liested as having copyright assignment, does  
>>>> you company
>>>> have one?  Otherwise, please try to get one soon.
>>>>
>>>> Honza
>>>>
>>>> 2011-11-14  Zolotukhin Michael  <michael.v.zolotukhin@gmail.com>
>>>>            Jan Hubicka  <jh@suse.cz>
>>>>
>>>
>>> Zolotukhin Michael works for Intel and has copyright assignment  
>>> with FSF.
>>
>> Thank you.  I went ahead and comitted the patch then.
>>
>
> GCC failed to bootstrap:
>
> ../../src-trunk/libiberty/sort.c:100:14: internal compiler error: in
> decide_alg, at config/i386/i386.c:22094
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> make[6]: *** [sort.o] Error 1


Assuming that the target is a core processor:

I'm testing a patch from Honza for this - which he has asked to be  
checked in if it works out OK.

just a pasto...




   1,					/* scalar_stmt_cost.  */
   1,					/* scalar load_cost.  */
   1,					/* scalar_store_cost.  */

Comments

H.J. Lu Nov. 14, 2011, 8:44 p.m. UTC | #1
On Mon, Nov 14, 2011 at 12:40 PM, Iain Sandoe
<developer@sandoe-acoustics.co.uk> wrote:
>
> On 14 Nov 2011, at 20:36, H.J. Lu wrote:
>
>> 2011/11/14 Jan Hubicka <hubicka@ucw.cz>:
>>>>
>>>> On Mon, Nov 14, 2011 at 9:03 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>>>>
>>>>> Hi,
>>>>> this is hopefully final variant of patch. The epilogue code was broken
>>>>> in some
>>>>> scenarios for memset, but should work safely now.  I also fixed the
>>>>> tables for
>>>>> core/buldozer/amdfam10 chips.
>>>>>
>>>>> But before it can be comitted, we need to reoslve copyright assignment
>>>>> issues.
>>>>> You don't seem to be liested as having copyright assignment, does you
>>>>> company
>>>>> have one?  Otherwise, please try to get one soon.
>>>>>
>>>>> Honza
>>>>>
>>>>> 2011-11-14  Zolotukhin Michael  <michael.v.zolotukhin@gmail.com>
>>>>>           Jan Hubicka  <jh@suse.cz>
>>>>>
>>>>
>>>> Zolotukhin Michael works for Intel and has copyright assignment with
>>>> FSF.
>>>
>>> Thank you.  I went ahead and comitted the patch then.
>>>
>>
>> GCC failed to bootstrap:
>>
>> ../../src-trunk/libiberty/sort.c:100:14: internal compiler error: in
>> decide_alg, at config/i386/i386.c:22094
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <http://gcc.gnu.org/bugs.html> for instructions.
>> make[6]: *** [sort.o] Error 1
>
>
> Assuming that the target is a core processor:
>
> I'm testing a patch from Honza for this - which he has asked to be checked
> in if it works out OK.
>
> just a pasto...
>
>
>
>
> Index: i386.c
> ===================================================================
> --- i386.c      (revision 181360)
> +++ i386.c      (working copy)
> @@ -1877,10 +1877,10 @@ struct processor_costs core_cost = {
>    {libcall, {{16, loop}, {24, unrolled_loop}, {1024, rep_prefix_8_byte},
> {-1, libcall}}}}},
>
>  /* stringop_algs for memset.  */
> -  {{{libcall, {{256, rep_prefix_4_byte}}}, /* Known alignment.  */
> -    {libcall, {{256, rep_prefix_8_byte}}}},
> -   {{libcall, {{256, rep_prefix_4_byte}}}, /* Unknown alignment.  */
> -    {libcall, {{256, rep_prefix_8_byte}}}}},
> +  {{{libcall, {{256, rep_prefix_4_byte}, {-1 libcall}}}, /* Known
> alignment.  */
> +    {libcall, {{256, rep_prefix_8_byte}, {-1 libcall}}}},
> +   {{libcall, {{256, rep_prefix_4_byte}, {-1 libcall}}}, /* Unknown
> alignment.  */
> +    {libcall, {{256, rep_prefix_8_byte}, {-1 libcall}}}}},
>  1,                                    /* scalar_stmt_cost.  */
>  1,                                    /* scalar load_cost.  */
>  1,                                    /* scalar_store_cost.  */
>

It looks reasonable.
diff mbox

Patch

Index: i386.c
===================================================================
--- i386.c	(revision 181360)
+++ i386.c	(working copy)
@@ -1877,10 +1877,10 @@  struct processor_costs core_cost = {
     {libcall, {{16, loop}, {24, unrolled_loop}, {1024,  
rep_prefix_8_byte}, {-1, libcall}}}}},

   /* stringop_algs for memset.  */
-  {{{libcall, {{256, rep_prefix_4_byte}}}, /* Known alignment.  */
-    {libcall, {{256, rep_prefix_8_byte}}}},
-   {{libcall, {{256, rep_prefix_4_byte}}}, /* Unknown alignment.  */
-    {libcall, {{256, rep_prefix_8_byte}}}}},
+  {{{libcall, {{256, rep_prefix_4_byte}, {-1 libcall}}}, /* Known  
alignment.  */
+    {libcall, {{256, rep_prefix_8_byte}, {-1 libcall}}}},
+   {{libcall, {{256, rep_prefix_4_byte}, {-1 libcall}}}, /* Unknown  
alignment.  */
+    {libcall, {{256, rep_prefix_8_byte}, {-1 libcall}}}}},