On Sun, Nov 17, 2013 at 3:38 PM, Jan Hubicka <hubi...@ucw.cz> wrote: > Hi, > this is version I comitted. It also adds a testcase and enables the support > in i386 backend. > > Honza > > * doc/md.texi (setmem, movstr): Update documentation. > * builtins.c (determine_block_size): New function. > (expand_builtin_memcpy): Use it and pass it to > emit_block_move_hints. > (expand_builtin_memset_args): Use it and pass it to > set_storage_via_setmem. > * expr.c (emit_block_move_via_movmem): Add min_size/max_size > parameters; > update call to expander. > (emit_block_move_hints): Add min_size/max_size parameters. > (clear_storage_hints): Likewise. > (set_storage_via_setmem): Likewise. > (clear_storage): Update. > * expr.h (emit_block_move_hints, clear_storage_hints, > set_storage_via_setmem): Update prototype. > * i386.c (ix86_expand_set_or_movmem): Add bounds; export. > (ix86_expand_movmem, ix86_expand_setmem): Remove. > (ix86_expand_movmem, ix86_expand_setmem): Remove. > * i386.md (movmem, setmem): Pass parameters. > > * testsuite/gcc.target/i386/memcpy-2.c: New testcase.
The new testcase fails for me on x86 and x86-64: FAIL: gcc.target/i386/memcpy-2.c scan-assembler-not memcpy FAIL: gcc.target/i386/memcpy-2.c (test for excess errors) -- H.J.