diff options
author | Jan Hubicka <jh@suse.cz> | 2013-11-19 02:42:34 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-11-19 01:42:34 +0000 |
commit | 82bb7d4e8274b5bc22000ea6fc58f169e7e087f0 (patch) | |
tree | f2fcdd731a9c1bb632d77915060a8e36c94837b8 /gcc/expr.h | |
parent | 0874db6e96b721f9545c6b3976eb77601b09533d (diff) | |
download | gcc-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.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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, |