summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr36891.c
blob: 53e6163de14a0974780b28aaa5d682c00d81d670 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do compile } */
/* { dg-options "-ffast-math" } */
/* { dg-options "-ffast-math -msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-require-effective-target sse { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */

#define __vector __attribute__((vector_size(16) ))
__vector float f(void);
void g(__vector float);
void RRB( __vector float vdist, __vector float vx)
{
  int detail;
  for(detail = 0; detail < 5;++detail)
  {
   __vector float frand = f();
   __vector float pullperc =  frand/ vdist;
   __vector float pullx =  vx * pullperc;
   g(pullx);
  }
}

/* Ignore a warning that is irrelevant to the purpose of this test.  */
/* { dg-prune-output ".*GCC vector returned by reference.*" } */