1  /* PR tree-optimization/108692 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -ftree-vectorize" } */
       4  
       5  __attribute__((noipa)) int
       6  foo (signed char *x, signed char *y, int n)
       7  {
       8    int i, r = 0;
       9    signed char a, b;
      10    for (i = 0; i < n; i++)
      11      {
      12        a = x[i];
      13        b = y[i];
      14        int c = (unsigned char) a - (unsigned char) b;
      15        r = r + (c < 0 ? -c : c);
      16      }
      17    return r;
      18  }
      19  
      20  int
      21  main ()
      22  {
      23    signed char x[64] = {}, y[64] = {};
      24    if (__CHAR_BIT__ != 8 || __SIZEOF_INT__ != 4)
      25      return 0;
      26    x[32] = -128;
      27    y[32] = 1;
      28    if (foo (x, y, 64) != 127)
      29      __builtin_abort ();
      30    return 0;
      31  }