https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120683
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|vector_loop generates |vector_loop generates poor |horrible prologue and |codes on memset/memcpy |epilogue on memset/memcpy | --- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> --- ix86_expand_set_or_cpymem has: /* For now vector-version of memset is generated only for memory zeroing, as creating of promoted vector value is very cheap in this case. */ if (issetmem && alg == vector_loop && val_exp != const0_rtx) alg = unrolled_loop; ix86_expand_vector_init_duplicate can handle variable and non-zero value.