re PR tree-optimization/37955 (internal compiler error: in vectorizable_store, at tree-vect-transform.c:5447)
2008-11-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/37955 PR tree-optimization/37742 * tree-vect-transform.c (vectorizable_store): Remove assert for compatible aliases. (vectorizable_load): Likewise. * gcc.c-torture/compile/pr37955.c: New testcase. * gcc.c-torture/compile/pr37742-3.c: Likewise. From-SVN: r142257
This commit is contained in:
parent
60d6f5d8bd
commit
249ae8f0a5
|
@ -1,3 +1,11 @@
|
|||
2008-11-28 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/37955
|
||||
PR tree-optimization/37742
|
||||
* tree-vect-transform.c (vectorizable_store): Remove assert for
|
||||
compatible aliases.
|
||||
(vectorizable_load): Likewise.
|
||||
|
||||
2008-11-27 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-structalias.c (intra_create_variable_infos): Make
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2008-11-28 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/37955
|
||||
PR tree-optimization/37742
|
||||
* gcc.c-torture/compile/pr37955.c: New testcase.
|
||||
* gcc.c-torture/compile/pr37742-3.c: Likewise.
|
||||
|
||||
2008-11-28 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR testsuite/38261
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
void matmul_i4 (int * __restrict dest_y,
|
||||
const int * __restrict abase,
|
||||
const int * __restrict bbase_y,
|
||||
int count, int xcount, int ycount, int aystride)
|
||||
{
|
||||
int x, y, n;
|
||||
const int * __restrict abase_n;
|
||||
int bbase_yn;
|
||||
for (y = 0; y < ycount; y++)
|
||||
for (n = 0; n < count; n++) {
|
||||
abase_n = abase + n*aystride;
|
||||
bbase_yn = bbase_y[n];
|
||||
for (x = 0; x < xcount; x++)
|
||||
dest_y[x] += abase_n[x] * bbase_yn;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
typedef struct
|
||||
{
|
||||
enum { NotConnected = 0 } conn_state;
|
||||
unsigned int conn_hndl;
|
||||
} AEP_CONNECTION_ENTRY;
|
||||
|
||||
static AEP_CONNECTION_ENTRY aep_app_conn_table[256];
|
||||
|
||||
void aep_mod_exp (void)
|
||||
{
|
||||
int count;
|
||||
|
||||
for (count = 0; count < 256; count++)
|
||||
{
|
||||
aep_app_conn_table[count].conn_state = NotConnected;
|
||||
aep_app_conn_table[count].conn_hndl = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -5440,11 +5440,6 @@ vectorizable_store (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt,
|
|||
vec_oprnd = VEC_index (tree, result_chain, i);
|
||||
|
||||
data_ref = build_fold_indirect_ref (dataref_ptr);
|
||||
/* If accesses through a pointer to vectype do not alias the original
|
||||
memory reference we have a problem. This should never happen. */
|
||||
gcc_assert (get_alias_set (data_ref) == get_alias_set (gimple_assign_lhs (stmt))
|
||||
|| alias_set_subset_of (get_alias_set (data_ref),
|
||||
get_alias_set (gimple_assign_lhs (stmt))));
|
||||
|
||||
/* Arguments are ready. Create the new vector stmt. */
|
||||
new_stmt = gimple_build_assign (data_ref, vec_oprnd);
|
||||
|
@ -6668,11 +6663,6 @@ vectorizable_load (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt,
|
|||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
/* If accesses through a pointer to vectype do not alias the original
|
||||
memory reference we have a problem. This should never happen. */
|
||||
gcc_assert (get_alias_set (data_ref) == get_alias_set (gimple_assign_rhs1 (stmt))
|
||||
|| alias_set_subset_of (get_alias_set (data_ref),
|
||||
get_alias_set (gimple_assign_rhs1 (stmt))));
|
||||
vec_dest = vect_create_destination_var (scalar_dest, vectype);
|
||||
new_stmt = gimple_build_assign (vec_dest, data_ref);
|
||||
new_temp = make_ssa_name (vec_dest, new_stmt);
|
||||
|
|
Loading…
Reference in New Issue