------- Comment #1 from jakub at gcc dot gnu dot org 2008-12-22 23:35 ------- Subject: Bug 38488
Author: jakub Date: Mon Dec 22 23:34:07 2008 New Revision: 142891 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142891 Log: * config/i386/i386.c (expand_setmem_via_rep_stos): Add ORIG_VALUE argument. If ORIG_VALUE is const0_rtx and COUNT is constant, set MEM_SIZE on DESTMEM. (ix86_expand_setmem): Adjust callers. PR target/38488 * expr.h (get_mem_align_offset): New prototype. * emit-rtl.c (get_mem_align_offset): New function. * config/i386/i386.c (expand_movmem_via_rep_mov): Set MEM_SIZE correctly. (expand_constant_movmem_prologue, expand_constant_setmem_prologue): New functions. (ix86_expand_movmem): Optimize if COUNT_EXP is constant, desired_align > align and dst & (desired_align - 1) is computable at compile time. (ix86_expand_setmem): Likewise. * builtins.c (get_memory_rtx): Try to derive MEM_ATTRS from not yet resolved SAVE_EXPR or POINTER_PLUS_EXPR. Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/config/i386/i386.c trunk/gcc/emit-rtl.c trunk/gcc/expr.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38488