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

            Bug ID: 85693
           Summary: Generation of SAD (Sum of Absolute Difference)
                    instruction
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ubizjak at gmail dot com
  Target Milestone: ---

As mentioned in [1], page 7, following code:

--cut here--
#include <stdlib.h>

#define N 1024

unsigned char pix1[N], pix2[N];

int foo (void)
{
  int i_sum = 0;
  int i;

  for (i = 0; i < N; i++)
    i_sum += abs (pix1[i] - pix2[i]);

  return i_sum;
}
--cut here--

should vectorize to psadbw instruction.

[1]
http://llvm.org/devmtg/2018-04/slides/Das-An%20Introduction%20to%20AMD%20Optimizing%20Compiler.pdf

Reply via email to