https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98172
--- Comment #4 from Jan Hubicka <hubicka at ucw dot cz> --- > > What kind of updates you propose? > > For one thing, memcpy/memset should be expanded to REP MOVSB/STOSB, never > MOVSL/MOVSQ. For core cost tables we use: /* core_cost should produce code tuned for Core familly of CPUs. */ static stringop_algs core_memcpy[2] = { {libcall, {{1024, rep_prefix_4_byte, true}, {-1, libcall, false}}}, {libcall, {{24, loop, true}, {128, rep_prefix_8_byte, true}, {-1, libcall, false}}}}; static stringop_algs core_memset[2] = { {libcall, {{6, loop_1_byte, true}, {24, loop, true}, {8192, rep_prefix_4_byte, true}, {-1, libcall, false}}}, {libcall, {{24, loop, true}, {512, rep_prefix_8_byte, true}, {-1, libcall, false}}}}; So we use mosl/modsw for blocks up to 8k in some cases. What is output of contrib/bench-stringop on later cores? Honza > > -- > You are receiving this mail because: > You are on the CC list for the bug.