mirror of git://gcc.gnu.org/git/gcc.git
re PR tree-optimization/46077 (ICE in tree vectorization when compiling towns_audio.cpp from scummvm)
PR tree-optimization/46077 * tree-chrec.c (eq_evolutions_p): Accept some expressions. testsuite/ PR tree-optimization/46077 * gcc.dg/vect/O3-pr46077.c: New testcase. From-SVN: r166958
This commit is contained in:
parent
ce59187eb8
commit
2bdea53925
|
|
@ -1,3 +1,8 @@
|
||||||
|
2010-11-19 Michael Matz <matz@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/46077
|
||||||
|
* tree-chrec.c (eq_evolutions_p): Accept some expressions.
|
||||||
|
|
||||||
2010-11-19 Anatoly Sokolov <aesok@post.ru>
|
2010-11-19 Anatoly Sokolov <aesok@post.ru>
|
||||||
|
|
||||||
* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
|
* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2010-11-19 Michael Matz <matz@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/46077
|
||||||
|
* gcc.dg/vect/O3-pr46077.c: New testcase.
|
||||||
|
|
||||||
2010-11-19 Joseph Myers <joseph@codesourcery.com>
|
2010-11-19 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
PR c/46547
|
PR c/46547
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
/* { dg-do compile } */
|
||||||
|
/* { dg-require-effective-target vect_int } */
|
||||||
|
|
||||||
|
void intf_pcmPlayEffect(int *src, int *dst, int size) {
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < size; i++)
|
||||||
|
*dst++ = *src & 0x80 ? (*src++ & 0x7f) : -*src++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* { dg-final { cleanup-tree-dump "vect" } } */
|
||||||
|
|
@ -1433,6 +1433,16 @@ eq_evolutions_p (const_tree chrec0, const_tree chrec1)
|
||||||
return (CHREC_VARIABLE (chrec0) == CHREC_VARIABLE (chrec1)
|
return (CHREC_VARIABLE (chrec0) == CHREC_VARIABLE (chrec1)
|
||||||
&& eq_evolutions_p (CHREC_LEFT (chrec0), CHREC_LEFT (chrec1))
|
&& eq_evolutions_p (CHREC_LEFT (chrec0), CHREC_LEFT (chrec1))
|
||||||
&& eq_evolutions_p (CHREC_RIGHT (chrec0), CHREC_RIGHT (chrec1)));
|
&& eq_evolutions_p (CHREC_RIGHT (chrec0), CHREC_RIGHT (chrec1)));
|
||||||
|
|
||||||
|
case PLUS_EXPR:
|
||||||
|
case MULT_EXPR:
|
||||||
|
case MINUS_EXPR:
|
||||||
|
case POINTER_PLUS_EXPR:
|
||||||
|
return eq_evolutions_p (TREE_OPERAND (chrec0, 0),
|
||||||
|
TREE_OPERAND (chrec1, 0))
|
||||||
|
&& eq_evolutions_p (TREE_OPERAND (chrec0, 1),
|
||||||
|
TREE_OPERAND (chrec1, 1));
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue