(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
vect/
pr56933.c
       1  /* { dg-require-effective-target vect_double } */
       2  
       3  #include "tree-vect.h"
       4  
       5  extern void abort (void);
       6  void __attribute__((noinline,noclone))
       7  foo (double *b, double *d, double *f)
       8  {
       9    int i;
      10    for (i = 0; i < 1024; i++)
      11      {
      12        d[2*i] = 2. * d[2*i];
      13        d[2*i+1] = 4. * d[2*i+1];
      14        b[i] = d[2*i] - 1.;
      15        f[i] = d[2*i+1] + 2.;
      16      }
      17  }
      18  int main()
      19  {
      20    double b[1024], d[2*1024], f[1024];
      21    int i;
      22  
      23    check_vect ();
      24  
      25    for (i = 0; i < 2*1024; i++)
      26      d[i] = 1.;
      27    foo (b, d, f);
      28    for (i = 0; i < 1024; i+= 2)
      29      {
      30        if (d[2*i] != 2.)
      31  	abort ();
      32        if (d[2*i+1] != 4.)
      33  	abort ();
      34      }
      35    for (i = 0; i < 1024; i++)
      36      {
      37        if (b[i] != 1.)
      38  	abort ();
      39        if (f[i] != 6.)
      40  	abort ();
      41      }
      42    return 0;
      43  }
      44