------- 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

Reply via email to