mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 09:50:38 +08:00
re PR tree-optimization/42709 (error: type mismatch in pointer plus expression)
PR tree-optimization/42709 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type as scalar type in creation of constant vector operand. From-SVN: r155882
This commit is contained in:
parent
a7bf45dee5
commit
cd481d83ed
@ -1,3 +1,9 @@
|
||||
2010-01-14 Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/42709
|
||||
* tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
|
||||
as scalar type in creation of constant vector operand.
|
||||
|
||||
2010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
PR testsuite/42414
|
||||
|
@ -1,3 +1,8 @@
|
||||
2010-01-14 Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/42709
|
||||
* gcc.dg/vect/pr42709.c: New test.
|
||||
|
||||
2010-01-14 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/41478
|
||||
|
28
gcc/testsuite/gcc.dg/vect/pr42709.c
Normal file
28
gcc/testsuite/gcc.dg/vect/pr42709.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target vect_int } */
|
||||
|
||||
#include <stdarg.h>
|
||||
#include "tree-vect.h"
|
||||
|
||||
#define N 128
|
||||
|
||||
int *res[N];
|
||||
|
||||
int
|
||||
main1 (int *a, int *b, int *c, int *d, int dummy)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < N/2; i+=4)
|
||||
{
|
||||
res[i] = a + 16;
|
||||
res[i+1] = b + 16;
|
||||
res[i+2] = c + 16;
|
||||
res[i+3] = d + 16;
|
||||
if (dummy == 32)
|
||||
abort ();
|
||||
}
|
||||
}
|
||||
|
||||
/* { dg-final { cleanup-tree-dump "vect" } } */
|
||||
|
@ -1421,7 +1421,6 @@ vect_get_constant_vectors (slp_tree slp_node, VEC(tree,heap) **vec_oprnds,
|
||||
VEC (gimple, heap) *stmts = SLP_TREE_SCALAR_STMTS (slp_node);
|
||||
gimple stmt = VEC_index (gimple, stmts, 0);
|
||||
stmt_vec_info stmt_vinfo = vinfo_for_stmt (stmt);
|
||||
tree vectype = STMT_VINFO_VECTYPE (stmt_vinfo);
|
||||
int nunits;
|
||||
tree vec_cst;
|
||||
tree t = NULL_TREE;
|
||||
@ -1446,16 +1445,12 @@ vect_get_constant_vectors (slp_tree slp_node, VEC(tree,heap) **vec_oprnds,
|
||||
}
|
||||
|
||||
if (CONSTANT_CLASS_P (op))
|
||||
{
|
||||
vector_type = vectype;
|
||||
constant_p = true;
|
||||
}
|
||||
constant_p = true;
|
||||
else
|
||||
{
|
||||
vector_type = get_vectype_for_scalar_type (TREE_TYPE (op));
|
||||
gcc_assert (vector_type);
|
||||
constant_p = false;
|
||||
}
|
||||
constant_p = false;
|
||||
|
||||
vector_type = get_vectype_for_scalar_type (TREE_TYPE (op));
|
||||
gcc_assert (vector_type);
|
||||
|
||||
nunits = TYPE_VECTOR_SUBPARTS (vector_type);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user