1  #include "tree-vect.h"
       2  
       3  #ifndef N
       4  #define N 64
       5  #endif
       6  
       7  char a[N];
       8  float b[N];
       9  long long l[N], m[N];
      10  
      11  __attribute__((noinline, noclone)) int
      12  f1 (void)
      13  {
      14    int i;
      15    for (i = 0; i < N; i++)
      16      a[i] = i;
      17  }
      18  
      19  __attribute__((noinline, noclone)) int
      20  f2 (void)
      21  {
      22    int i;
      23    for (i = 0; i < N; i++)
      24      b[i] = (double) i;
      25  }
      26  
      27  __attribute__((noinline, noclone)) int
      28  f3 (void)
      29  {
      30    int i;
      31    for (i = 0; i < N; i++)
      32      l[i] = (long long) i * (i + 7);
      33  }
      34  
      35  __attribute__((noinline, noclone)) int
      36  f4 (void)
      37  {
      38    int i;
      39    for (i = 0; i < N; i++)
      40      m[i] = (long long) i * 7;
      41  }
      42  
      43  int
      44  main ()
      45  {
      46    int i;
      47  
      48    check_vect ();
      49    f1 ();
      50    f2 ();
      51    f3 ();
      52    f4 ();
      53    for (i = 0; i < N; i++)
      54      if (a[i] != i || b[i] != i || l[i] != i * (i + 7LL) || m[i] != i * 7LL)
      55        abort ();
      56    return 0;
      57  }
      58