------- Comment #4 from irar at il dot ibm dot com 2007-10-24 07:48 ------- In this testcase we perform vectorization of strided accesses in a loop with multiple types. In vectorizable_store() we gather all the scalar operands of the stores in the strided accesses group and later call vect_get_vec_def_for_stmt_copy () to get vectorized copies for the scalar operands. We (erroneously) assumed that the def stmts of those scalars stmts are of the the same type, i.e., either they all are loop invariants or loop variants. But this is not the case here:
points[num_points_36][0] = start$0_20(D); D.1561_14 = (long int) j_35; D.1563_16 = D.1561_14 + start$1_19(D); points[num_points_36][1] = D.1563_16; start$0_20(D) is loop invariant, while D.1563_16 is not. I am working on a fix. Ira -- irar at il dot ibm dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2007-10-24 07:48:07 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33866