------- Comment #3 from irar at il dot ibm dot com 2008-05-04 11:13 ------- In my dump this stmt is vectorized ok:
bug.F:14: note: ------>vectorizing statement: D.1055_23 = ((D.1054_22)) bug.F:14: note: transform statement. bug.F:14: note: vect_is_simple_use: operand ((D.1054_22)) bug.F:14: note: non-associatable copy. bug.F:14: note: def_stmt: D.1054_22 = D.1051_19 - D.1053_21 bug.F:14: note: type of def: 3. bug.F:14: note: transform assignment. bug.F:14: note: vect_get_vec_def_for_operand: ((D.1054_22)) bug.F:14: note: vect_is_simple_use: operand ((D.1054_22)) bug.F:14: note: non-associatable copy. bug.F:14: note: def_stmt: D.1054_22 = D.1051_19 - D.1053_21 bug.F:14: note: type of def: 3. bug.F:14: note: def = D.1054_22 def_stmt = D.1054_22 = D.1051_19 - D.1053_21 bug.F:14: note: add new stmt: vect_var_.63_162 = vect_var_.62_161 I also see that vectorization factor is 1 in your dump. I think that this is the problem here, since ncopies = vf/nunits (nunits number of elements in the vector of this type). Could you please attach the vectorizer dump file? Ira -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36119