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

--- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> ---
It looks like a convoluted way to write:

unsigned char sum() 
{
  unsigned char res=0;
  unsigned char*p=(unsigned char*)bytes;
  for(int n=0;n<sizeof(bytes);++n)
    res+=p[n];
  return res;
}

which gcc easily recognizes as a reduction. Except that I am not convinced the
testcase actually computes the "horizontal sum of all bytes in an array" as
claimed.

Yes, the i386 backend seems to be missing reduc_plus_scal_V*QI using (v)psadbw,
that should be a separate bug report.

Reply via email to