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: Drop generic32 cost model


> 
> 
> decide_alg is being called from ix86_expand_movmem, from
> expand_builtin_memcpy, for the call at line 61 of go-append.c.
>       __builtin_memcpy (n, a.__values, a.__count * element_size);
> 
> I'm continuing to look.

Indeed it is problem of this patch - the issue is that generic64 had
dummy 32bit alg entries (those should not cause infinite loop, I will
fix that too)

I am testing:
Index: i386.c
===================================================================
--- i386.c      (revision 202741)
+++ i386.c      (working copy)
@@ -1648,11 +1648,13 @@ struct processor_costs slm_cost = {
    and btver1 (and newer chips).  */
 
 static stringop_algs generic_memcpy[2] = {
-  DUMMY_STRINGOP_ALGS,
+  {libcall, {{32, loop, false}, {8192, rep_prefix_4_byte, false},
+             {-1, libcall, false}}},
   {libcall, {{32, loop, false}, {8192, rep_prefix_8_byte, false},
              {-1, libcall, false}}}};
 static stringop_algs generic_memset[2] = {
-  DUMMY_STRINGOP_ALGS,
+  {libcall, {{32, loop, false}, {8192, rep_prefix_4_byte, false},
+             {-1, libcall, false}}},
   {libcall, {{32, loop, false}, {8192, rep_prefix_8_byte, false},
              {-1, libcall, false}}}};
 static const

> 
> Ian


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