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); 9 void g(__vector float); RRB(__vector float vdist,__vector float vx)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