[Bug tree-optimization/82905] vector shift forced to 32 bits

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Aug 1 08:02:17 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82905

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|middle-end                  |tree-optimization
           Severity|normal                      |enhancement

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So the vectorizer produces now:
  vect_cst__7 = {m_9(D), m_9(D), m_9(D), m_9(D), m_9(D), m_9(D), m_9(D),
m_9(D)};
  vect__1.5_3 = MEM <vector(16) unsigned char> [(unsigned char *)&p];
  vect__2.6_4 = [vec_unpack_lo_expr] vect__1.5_3;
  vect__2.6_5 = [vec_unpack_hi_expr] vect__1.5_3;
  vect__3.7_11 = vect__2.6_4 * vect_cst__7;
  vect__3.7_19 = vect__2.6_5 * vect_cst__7;
  vect__4.8_10 = vect__3.7_11 >> 8;
  vect__4.8_30 = vect__3.7_19 >> 8;
  vect__5.9_31 = VEC_PACK_TRUNC_EXPR <vect__4.8_10, vect__4.8_30>;
  MEM <vector(16) unsigned char> [(unsigned char *)&p] = vect__5.9_31;

---- CUT ----


More information about the Gcc-bugs mailing list