(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
vect-67.c
       1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include <stdarg.h>
       4  #include "tree-vect.h"
       5  
       6  #if VECTOR_BITS > 256
       7  #define NINTS (VECTOR_BITS / 32)
       8  #else
       9  #define NINTS 8
      10  #endif
      11  
      12  #define N (NINTS * 2)
      13  
      14  __attribute__ ((noinline))
      15  int main1 (int a, int b)
      16  {
      17    int i, j;
      18    int ia[N][4][N + NINTS];
      19  
      20    /* Multidimensional array. Aligned. The "inner" dimensions
      21       are invariant in the inner loop. Store. 
      22       Not vectorizable: unsupported operation. */
      23    for (i = 0; i < N; i++)
      24      {
      25        for (j = 0; j < N; j++)
      26          {
      27             ia[i][1][j + NINTS] = (a == b);
      28          }
      29      }
      30  
      31    /* check results: */  
      32    for (i = 0; i < N; i++)
      33      {
      34        for (j = 0; j < N; j++)
      35          {
      36             if (ia[i][1][j + NINTS] != (a == b))
      37                abort();
      38          }
      39      }
      40  
      41    return 0;
      42  }
      43  
      44  int main (void)
      45  { 
      46    check_vect ();
      47  
      48    return main1 (2 ,7);
      49  }
      50  
      51  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  } } */
      52  /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" { xfail { ! vect_align_stack_vars } } } } */