diff options
author | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-05 14:17:33 +0000 |
---|---|---|
committer | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-05 14:17:33 +0000 |
commit | 300c6ceec3d8a1a5f898c399e63381e3203c24bc (patch) | |
tree | ff433ccdf462aa7465faa04380de59abd9507cd5 /gcc/doc | |
parent | f5ea8c530cdc4e8a16a7f69f38b0eaa613a35036 (diff) | |
download | gcc-300c6ceec3d8a1a5f898c399e63381e3203c24bc.tar.gz |
Don't use mode wider than Pmode for size in movmem/setmem
gcc/
PR middle-end/58981
* doc/md.texi (@code{movmem@var{m}}): Specify Pmode as mode of
pattern, instead of word_mode.
* expr.c (emit_block_move_via_movmem): Don't use mode wider than
Pmode for size.
(set_storage_via_setmem): Likewise.
gcc/testsuite/
PR middle-end/58981
* gcc.dg/pr58981.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204394 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/md.texi | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index ac10a0ad03c..1e22b88f608 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -5291,12 +5291,13 @@ are the first two operands, and both are @code{mem:BLK}s with an address in mode @code{Pmode}. The number of bytes to move is the third operand, in mode @var{m}. -Usually, you specify @code{word_mode} for @var{m}. However, if you can +Usually, you specify @code{Pmode} for @var{m}. However, if you can generate better code knowing the range of valid lengths is smaller than -those representable in a full word, you should provide a pattern with a +those representable in a full Pmode pointer, you should provide +a pattern with a mode corresponding to the range of values you can handle efficiently (e.g., @code{QImode} for values in the range 0--127; note we avoid numbers -that appear negative) and also a pattern with @code{word_mode}. +that appear negative) and also a pattern with @code{Pmode}. The fourth operand is the known shared alignment of the source and destination, in the form of a @code{const_int} rtx. Thus, if the |