aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2016-02-22 22:34:49 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-02-22 22:34:49 +0100
commit07bfc9c103a685d5ad59ce846188c449e81055df (patch)
tree7475d940340ee5379d810759fe1707fed23cc2e3 /gcc
parentf93bc53213faeaec9fc4a07bd4e6fb360f9d241d (diff)
downloadgcc-07bfc9c103a685d5ad59ce846188c449e81055df.zip
gcc-07bfc9c103a685d5ad59ce846188c449e81055df.tar.gz
gcc-07bfc9c103a685d5ad59ce846188c449e81055df.tar.bz2
re PR target/69888 (ICE: SIGSEGV in decide_alg (i386.c:26169) due to infinite (?) recursion with -minline-all-stringops -mmemset-strategy=no_stringop:-1:noalign)
PR target/69888 * config/i386/i386.c (decide_alg): Ensure we don't recurse with identical arguments. Formatting and spelling fixes. * gcc.target/i386/pr69888.c: New test. From-SVN: r233615
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 5c034f2..29c73f6 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -26153,7 +26153,7 @@ decide_alg (HOST_WIDE_INT count, HOST_WIDE_INT expected_size,
|| !alg_usable_p (algs->unknown_size, memset, have_as)))
{
enum stringop_alg alg;
- HOST_WIDE_INT new_expected_size = max > 0 ? max / 2 : 2048;
+ HOST_WIDE_INT new_expected_size = (max > 0 ? max : 4096) / 2;
/* If there aren't any usable algorithms or if recursing with the
same arguments as before, then recursing on smaller sizes or