(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
vect-112-big-array.c
       1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include <stdarg.h>
       4  #include "tree-vect.h"
       5  
       6  #define N 128
       7  
       8  char cb[N];
       9  char cc[N];
      10  
      11  __attribute__ ((noinline)) int
      12  main1 (void)
      13  {
      14    int i;
      15    int diff = 0;
      16    int check_diff = 0;
      17    for (i = 0; i < N; i++) {
      18      cb[i] = i + 2;
      19      cc[i] = i + 1;
      20      check_diff += (cb[i] - cc[i]);
      21      asm volatile ("" ::: "memory");
      22    }
      23  
      24    /* Cross-iteration cycle.  */
      25    diff = 0;
      26    for (i = 0; i < N; i++) {
      27      diff += (cb[i] - cc[i]);
      28    }
      29  
      30    /* Check results.  */
      31    if (diff != check_diff)
      32      abort ();
      33  
      34    return 0;
      35  }
      36  
      37  int main (void)
      38  {
      39    check_vect ();
      40    return main1 ();
      41  }
      42  
      43  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */
      44  
      45