------- Comment #1 from rguenth at gcc dot gnu dot org 2009-04-20 09:26 ------- The vectorizer creates
vect_var_.128_46 = M*vect_p.123_44{misalignment: 0}; vect_var_.129_47 = [vec_unpack_lo_expr] vect_var_.128_46; vect_var_.129_48 = [vec_unpack_hi_expr] vect_var_.128_46; vect_var_.135_53 = M*vect_p.130_51{misalignment: 0}; vect_var_.136_54 = [vec_unpack_lo_expr] vect_var_.135_53; vect_var_.136_55 = [vec_unpack_hi_expr] vect_var_.135_53; vect_var_.137_56 = vect_var_.136_54 * vect_var_.129_47; vect_var_.137_57 = vect_var_.136_55 * vect_var_.129_48; vect_var_.138_59 = vect_var_.137_56 + vect_var_.138_58; vect_var_.138_60 = vect_var_.137_57 + vect_var_.138_59; v1_14 = v1_26 + 4; but the widening unpacking results in absymal code generated. Where are all the shifts coming from? -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |uros at gcc dot gnu dot org, | |irar at il dot ibm dot com Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |missed-optimization Last reconfirmed|0000-00-00 00:00:00 |2009-04-20 09:26:17 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39821