(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
bb-slp-2.c
       1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include <stdarg.h>
       4  #include "tree-vect.h"
       5  
       6  #define N 16 
       7  
       8  unsigned int out[N*8];
       9  unsigned int in[N*8] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
      10  
      11  __attribute__ ((noinline)) int
      12  main1 (int dummy)
      13  {
      14    int i;
      15    unsigned int *pin = &in[0];
      16    unsigned int *pout = &out[0];
      17    
      18    for (i = 0; i < N*2; i++)
      19      {
      20        *pout++ = *pin++;
      21        *pout++ = *pin++;
      22        *pout++ = *pin++;
      23        *pout++ = *pin++;
      24  
      25        /* Avoid loop vectorization.  */
      26        if (dummy)
      27          __asm__ volatile ("" : : : "memory");
      28      }
      29  
      30    /* check results:  */ 
      31    for (i = 0; i < N; i++)
      32      {
      33        if (out[i*8] !=  in[i*8]
      34           || out[i*8 + 1] != in[i*8 + 1]
      35           || out[i*8 + 2] != in[i*8 + 2]
      36           || out[i*8 + 3] != in[i*8 + 3]
      37           || out[i*8 + 4] != in[i*8 + 4]
      38           || out[i*8 + 5] != in[i*8 + 5]
      39           || out[i*8 + 6] != in[i*8 + 6]
      40           || out[i*8 + 7] != in[i*8 + 7])
      41  	abort ();
      42      }
      43  
      44    return 0;
      45  }
      46  
      47  int main (void)
      48  {
      49    check_vect ();
      50  
      51    main1 (33);
      52  
      53    return 0;
      54  }
      55  
      56  /* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" } } */
      57