aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaksit Ashok <raksit@google.com>2008-07-08 22:17:07 +0000
committerRaksit Ashok <raksit@gcc.gnu.org>2008-07-08 22:17:07 +0000
commit9946ca2d8d8924ac9734669b5428ce51d0275817 (patch)
tree676ef68ed6b19e87b05cd397cf60db4bd3567eff
parent10932211a8e7096f44a9295d6b73d54bfd2a246a (diff)
downloadgcc-9946ca2d8d8924ac9734669b5428ce51d0275817.zip
gcc-9946ca2d8d8924ac9734669b5428ce51d0275817.tar.gz
gcc-9946ca2d8d8924ac9734669b5428ce51d0275817.tar.bz2
expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
2008-07-08 Raksit Ashok <raksit@google.com> * expr.c (emit_block_move_via_movmem): Fix expected_align parameter. (set_storage_via_setmem): Fix expected_align parameter. * doc/invoke.texi (i386 and x86-64 Options): Add a couple of options missing from the list. * doc/md.texi (movmem): Explicitly state that expected alignment is to be expressed in bytes. (setmem): Explicitly state that expected alignment is to be expressed in bytes. From-SVN: r137646
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/doc/invoke.texi1
-rw-r--r--gcc/doc/md.texi6
-rw-r--r--gcc/expr.c6
4 files changed, 20 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5ba91fc..376fb12 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2008-07-08 Raksit Ashok <raksit@google.com>
+
+ * expr.c (emit_block_move_via_movmem): Fix expected_align parameter.
+ (set_storage_via_setmem): Fix expected_align parameter.
+ * doc/invoke.texi (i386 and x86-64 Options): Add a couple of options
+ missing from the list.
+ * doc/md.texi (movmem): Explicitly state that expected alignment is
+ to be expressed in bytes.
+ (setmem): Explicitly state that expected alignment is to be expressed
+ in bytes.
+
2008-07-08 Joseph Myers <joseph@codesourcery.com>
* reload.c (find_reloads_subreg_address): Do not require validity
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 29f5534..689f838 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -559,6 +559,7 @@ Objective-C and Objective-C++ Dialects}.
-maes -mpclmul @gol
-msse4a -m3dnow -mpopcnt -mabm -msse5 @gol
-mthreads -mno-align-stringops -minline-all-stringops @gol
+-minline-stringops-dynamically -mstringop-strategy=@var{alg} @gol
-mpush-args -maccumulate-outgoing-args -m128bit-long-double @gol
-m96bit-long-double -mregparm=@var{num} -msseregparm @gol
-mveclibabi=@var{type} -mpc32 -mpc64 -mpc80 -mstackrealign @gol
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index c0018a7..c96fd56 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -4217,7 +4217,8 @@ it may provide the value 4 for this operand.
Optional operands 5 and 6 specify expected alignment and size of block
respectively. The expected alignment differs from alignment in operand 4
in a way that the blocks are not required to be aligned according to it in
-all cases. Expected size, when unknown, is set to @code{(const_int -1)}.
+all cases. This expected alignment is also in bytes, just like operand 4.
+Expected size, when unknown, is set to @code{(const_int -1)}.
Descriptions of multiple @code{movmem@var{m}} patterns can only be
beneficial if the patterns for smaller modes have fewer restrictions
@@ -4254,7 +4255,8 @@ operand.
Optional operands 5 and 6 specify expected alignment and size of block
respectively. The expected alignment differs from alignment in operand 4
in a way that the blocks are not required to be aligned according to it in
-all cases. Expected size, when unknown, is set to @code{(const_int -1)}.
+all cases. This expected alignment is also in bytes, just like operand 4.
+Expected size, when unknown, is set to @code{(const_int -1)}.
The use for multiple @code{setmem@var{m}} is as for @code{movmem@var{m}}.
diff --git a/gcc/expr.c b/gcc/expr.c
index 33616d6..e7c24e2 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1360,7 +1360,8 @@ emit_block_move_via_movmem (rtx x, rtx y, rtx size, unsigned int align,
pat = GEN_FCN ((int) code) (x, y, op2, opalign);
else
pat = GEN_FCN ((int) code) (x, y, op2, opalign,
- GEN_INT (expected_align),
+ GEN_INT (expected_align
+ / BITS_PER_UNIT),
GEN_INT (expected_size));
if (pat)
{
@@ -2780,7 +2781,8 @@ set_storage_via_setmem (rtx object, rtx size, rtx val, unsigned int align,
pat = GEN_FCN ((int) code) (object, opsize, opchar, opalign);
else
pat = GEN_FCN ((int) code) (object, opsize, opchar, opalign,
- GEN_INT (expected_align),
+ GEN_INT (expected_align
+ / BITS_PER_UNIT),
GEN_INT (expected_size));
if (pat)
{