summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2003-08-07 12:33:56 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2003-08-07 12:33:56 +0000
commit1b349217f767389407e18511246cb28c1d8f8c45 (patch)
tree8386142ef3dad666b690f4ea1f9cc1621abe10cf
parentbff21cf9a4c16ff7dce36a184e86d0342dfb7b1b (diff)
Disable the so-called optimized memcpy functions for small (less than a few
hundred bytes) block copies. While the functions themselves are probably optimal or not far from it, the code responsible for their invocation is not, and has a bad tendency of miscomputing the destination buffer address, especially when optimization is used. This is a temporary measure, these functions will be reenabled once a good fix is ready. ok deraadt@ espie@
-rw-r--r--gnu/egcs/gcc/config/m88k/m88k.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gnu/egcs/gcc/config/m88k/m88k.c b/gnu/egcs/gcc/config/m88k/m88k.c
index bf3f65fd738..3545329a2b8 100644
--- a/gnu/egcs/gcc/config/m88k/m88k.c
+++ b/gnu/egcs/gcc/config/m88k/m88k.c
@@ -515,6 +515,7 @@ expand_block_move (dest_mem, src_mem, operands)
block_move_sequence (operands[0], dest_mem, operands[1], src_mem,
bytes, align, 0);
+#if 0 /* XXX */
else if (constp && bytes <= best_from_align[target][align])
block_move_no_loop (operands[0], dest_mem, operands[1], src_mem,
bytes, align);
@@ -523,6 +524,7 @@ expand_block_move (dest_mem, src_mem, operands)
block_move_loop (operands[0], dest_mem, operands[1], src_mem,
bytes, align);
+#endif
else
{
#ifdef TARGET_MEM_FUNCTIONS