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