re PR target/47665 (ICE in trunc_int_for_mode)

PR target/47665
	* combine.c (make_compound_operation): Only change shifts into
	multiplication for SCALAR_INT_MODE_P.

	* gcc.target/i386/pr47665.c: New test.

From-SVN: r170050
This commit is contained in:
Jakub Jelinek 2011-02-11 15:19:44 +01:00 committed by Jakub Jelinek
parent 84b44e0fe4
commit b63f974ef2
4 changed files with 34 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2011-02-11 Jakub Jelinek <jakub@redhat.com>
PR target/47665
* combine.c (make_compound_operation): Only change shifts into
multiplication for SCALAR_INT_MODE_P.
2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR testsuite/47400

View File

@ -1,3 +1,8 @@
2011-02-11 Jakub Jelinek <jakub@redhat.com>
PR target/47665
* gcc.target/i386/pr47665.c: New test.
2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/47629

View File

@ -0,0 +1,20 @@
/* PR debug/47684 */
/* { dg-do compile } */
/* { dg-options "-O3 -fcompare-debug" } */
int in[8][4];
int out[4];
void
foo (void)
{
int sum = 1;
int i, j, k;
for (k = 0; k < 4; k++)
{
for (j = 0; j < 4; j++)
for (i = 0; i < 4; i++)
sum *= in[i + k][j];
out[k] = sum;
}
}

View File

@ -1,5 +1,5 @@
/* Predictive commoning.
Copyright (C) 2005, 2007, 2008, 2009, 2010
Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
@ -1668,6 +1668,8 @@ single_nonlooparound_use (tree name)
return NULL;
}
else if (is_gimple_debug (stmt))
continue;
else if (ret != NULL)
return NULL;
else