(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr36891.c
       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);
      10  void 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.*" } */