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

--- Comment #4 from Hongtao.liu <crazylht at gmail dot com> ---
> I hope vectorizer reduction can handle the upper sequence.

After hacked in ifcvt, got

.165.cvt
----
  <bb 3> [local count: 1057206201]:
  # cnt_21 = PHI <cnt_9(7), 0(15)>
  # i_22 = PHI <i_17(7), 0(15)>
  # ivtmp_19 = PHI <ivtmp_18(7), 64(15)>
  _1 = (sizetype) i_22;
  _2 = a_14(D) + _1;
  _3 = *_2;
  _5 = c_15(D) + _1;
  _6 = *_5;
  cnt.1_7 = (unsigned char) cnt_21;
  _ifc__35 = _3 == _6 ? 1 : 0;
  _nop__36 = cnt.1_7 + _ifc__35;
  cnt_9 = (char) _nop__36;
  i_17 = i_22 + 1;
  ivtmp_18 = ivtmp_19 - 1;
  if (ivtmp_18 != 0)
    goto <bb 7>; [98.44%]
-------

And successully vectorized.

.166t.vect
------
  <bb 3> [local count: 33071249]:
  # cnt_21 = PHI <cnt_9(7), 0(2)>
  # i_22 = PHI <i_17(7), 0(2)>
  # ivtmp_19 = PHI <ivtmp_18(7), 64(2)>
  # vect_cnt_21.6_38 = PHI <vect_cnt_9.16_51(7), { 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }(2)>
  # vectp_a.7_39 = PHI <vectp_a.7_40(7), a_14(D)(2)>
  # vectp_c.10_42 = PHI <vectp_c.10_43(7), c_15(D)(2)>
  # ivtmp_56 = PHI <ivtmp_57(7), 0(2)>
  _1 = (sizetype) i_22;
  _2 = a_14(D) + _1;
  vect__3.9_41 = MEM <vector(32) char> [(char *)vectp_a.7_39];
  _3 = *_2;
  _5 = c_15(D) + _1;
  vect__6.12_44 = MEM <vector(32) char> [(char *)vectp_c.10_42];
  _6 = *_5;
  vect_cnt.13_45 = VIEW_CONVERT_EXPR<vector(32) unsigned
char>(vect_cnt_21.6_38);
  cnt.1_7 = (unsigned char) cnt_21;
  _48 = vect__3.9_41 == vect__6.12_44;
  vect__ifc__35.14_49 = VEC_COND_EXPR <_48, vect_cst__46, vect_cst__47>;
  _ifc__35 = _3 == _6 ? 1 : 0;
  vect__nop__36.15_50 = vect_cnt.13_45 + vect__ifc__35.14_49;
  _nop__36 = cnt.1_7 + _ifc__35;
  vect_cnt_9.16_51 = VIEW_CONVERT_EXPR<vector(32) char>(vect__nop__36.15_50);
  cnt_9 = (char) _nop__36;
  i_17 = i_22 + 1;
  ivtmp_18 = ivtmp_19 - 1;
  vectp_a.7_40 = vectp_a.7_39 + 32;
  vectp_c.10_43 = vectp_c.10_42 + 32;
  ivtmp_57 = ivtmp_56 + 1;
  if (ivtmp_57 < 2)
    goto <bb 7>; [50.00%]

Reply via email to