ChangeLog
1010 KB
-
i386.c (expand_set_or_movmem_via_loop): Add issetmem argument. · d606b917
* config/i386/i386.c (expand_set_or_movmem_via_loop): Add issetmem argument. Update function comment. (expand_set_or_movmem_via_rep): New function combining expand_movmem_via_rep_mov and expand_setmem_via_rep_stos. (expand_movmem_via_rep_mov): Remove. expand_setmem_via_rep_stos): Remove. (expand_movmem_epilogue): Update calls correspondingly. (expand_setmem_epilogue_via_loop): Likewise. (emit_memset): New. (expand_setmem_epilogue): Add VEC_VALUE argument, refactor. (expand_set_or_movmem_prologue): New function combining expand_movmem_prologue and expand_setmem_prologue. (expand_movmem_prologue): Remove. (expand_setmem_prologue): Remove. (expand_set_or_movmem_constant_prologue): New function combining expand_constant_movmem_prologue and expand_constant_setmem_prologue. (expand_constant_movmem_prologue): Remove. (expand_constant_setmem_prologue): Remove. (promote_duplicated_reg): Allow vector-const0 value. (ix86_expand_set_or_movmem): New function combining ix86_expand_movmem and ix86_expand_setmem. (ix86_expand_movmem): Call ix86_expand_set_or_movmem. (ix86_expand_setmem): Call ix86_expand_set_or_movmem. testsuite/ * gcc.target/i386/memset-vector_loop-1.c: New test. * gcc.target/i386/memset-vector_loop-2.c: New test. From-SVN: r203886Michael Zolotukhin committed