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