summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/aarch64/sve_peel_ind_4_run.c
blob: 60be4a038de739299ea9600c19bcc7815572555e (plain)
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
/* { dg-do run { target aarch64_sve_hw } } */
/* { dg-options "-Ofast -march=armv8-a+sve -mtune=thunderx -fno-vect-cost-model" } */
/* { dg-options "-Ofast -march=armv8-a+sve -msve-vector-bits=256 -mtune=thunderx -fno-vect-cost-model" { target aarch64_sve256_hw } } */

#include "sve_peel_ind_4.c"

volatile int y;

int
main (void)
{
  double x[END + 1];
  for (int i = 0; i < END + 1; ++i)
    x[i] = i;
  foo (x);
  for (int i = 0; i < END + 1; ++i)
    {
      double expected;
      if (i < START || i >= END)
	expected = i;
      else
	expected = 10 + (i - START) * 5;
      if (x[i] != expected)
	__builtin_abort ();
      y++;
    }
  return 0;
}