diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-19 01:42:34 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-19 01:42:34 +0000 |
commit | 9db0f34dee98f95bac98026a3c8e004589ccdaa7 (patch) | |
tree | f2fcdd731a9c1bb632d77915060a8e36c94837b8 /gcc/expr.h | |
parent | 2a372eebe07f3a6090d9e5cd28ef2477968b0151 (diff) | |
download | gcc-9db0f34dee98f95bac98026a3c8e004589ccdaa7.tar.gz |
* md.texi (setmem): Document new parameter.
* optabs.c (maybe_gen_insn): Support 9 operands.
* builtins.c (determine_block_size): Add probable_max_size;
support anti-ranges.
(expand_builtin_memcpy. expand_builtin_memset_args): Pass around
probable_max_size.
* expr.c (emit_block_move_via_movmem, emit_block_move_hints,
emit_block_move, clear_storage_hints, set_storage_via_setmem):
Likewise.
* expr.h (emit_block_move_hints, clear_storage_hints,
set_storage_via_setmem): Update prototype.
* i386.md (setmem, movmem patterns): Add 9th operand.
* i386-protos.h (ix86_expand_set_or_movmem): Update prototype.
* i386.c (ix86_expand_set_or_movmem): Take probable_max_size_exp
argument; pass it to decide_alg.
* gcc.target/i386/memcpy-3.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204997 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h index 8230fd54bb1..422c75d3f59 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -302,6 +302,7 @@ extern rtx emit_block_move_via_libcall (rtx, rtx, rtx, bool); extern rtx emit_block_move_hints (rtx, rtx, rtx, enum block_op_methods, unsigned int, HOST_WIDE_INT, unsigned HOST_WIDE_INT, + unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT); extern bool emit_storent_insn (rtx to, rtx from); @@ -365,6 +366,7 @@ extern rtx clear_storage (rtx, rtx, enum block_op_methods); extern rtx clear_storage_hints (rtx, rtx, enum block_op_methods, unsigned int, HOST_WIDE_INT, unsigned HOST_WIDE_INT, + unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT); /* The same, but always output an library call. */ rtx set_storage_via_libcall (rtx, rtx, rtx, bool); @@ -373,6 +375,7 @@ rtx set_storage_via_libcall (rtx, rtx, rtx, bool); extern bool set_storage_via_setmem (rtx, rtx, rtx, unsigned int, unsigned int, HOST_WIDE_INT, unsigned HOST_WIDE_INT, + unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT); extern unsigned HOST_WIDE_INT move_by_pieces_ninsns (unsigned HOST_WIDE_INT, |