aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/vect/pr96854.c
blob: e3980d413038e19120fc3c98e7de7b9e61b7fa49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* { dg-additional-options "-ffast-math" } */

double _Complex __attribute__((noipa))
foo (double _Complex acc, const double _Complex *x, const double _Complex* y, int N)
{
  for (int c = 0; c < N; ++c)
    acc -= x[c] * y[c];
  return acc;
}

int
main()
{
  static const double _Complex y[] = { 1, 2, };
  static const double _Complex x[] = { 1, 3, };
  double _Complex ref = foo (0, x, y, 2);
  if (__builtin_creal (ref) != -7.)
    __builtin_abort ();
  return 0;
}