aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-11-19 02:42:34 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2013-11-19 01:42:34 +0000
commit82bb7d4e8274b5bc22000ea6fc58f169e7e087f0 (patch)
treef2fcdd731a9c1bb632d77915060a8e36c94837b8 /gcc/expr.h
parent0874db6e96b721f9545c6b3976eb77601b09533d (diff)
downloadgcc-82bb7d4e8274b5bc22000ea6fc58f169e7e087f0.zip
gcc-82bb7d4e8274b5bc22000ea6fc58f169e7e087f0.tar.gz
gcc-82bb7d4e8274b5bc22000ea6fc58f169e7e087f0.tar.bz2
md.texi (setmem): Document new parameter.
* 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. From-SVN: r204997
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 8230fd5..422c75d 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,