1/* { dg-do compile } */
2/* { dg-options "-ffast-math" } */
3/* { dg-options "-ffast-math -msse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
4/* { dg-require-effective-target sse { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
5/* { dg-options "-ffast-math -mabi=altivec" { target { { powerpc*-*-linux* } && ia32 } } } */
6
7#define __vector __attribute__((vector_size(16) ))
8__vector float f(void);
9void g(__vector float);
10void RRB( __vector float vdist, __vector float vx)
11{
12  int detail;
13  for(detail = 0; detail < 5;++detail)
14  {
15   __vector float frand = f();
16   __vector float pullperc =  frand/ vdist;
17   __vector float pullx =  vx * pullperc;
18   g(pullx);
19  }
20}
21
22/* Ignore a warning that is irrelevant to the purpose of this test.  */
23/* { dg-prune-output ".*GCC vector returned by reference.*" } */
24