1  /* Test argument passing with SSE2 and local functions
       2     Written by Paolo Bonzini, 25 January 2005 */
       3  
       4  /* { dg-do compile } */
       5  /* { dg-require-effective-target ia32 } */
       6  /* { dg-final { scan-assembler "movss" } } */
       7  /* { dg-final { scan-assembler "mulss" } } */
       8  /* { dg-final { scan-assembler "movsd" } } */
       9  /* { dg-final { scan-assembler "mulsd" } } */
      10  /* { dg-options "-O2 -msse2 -mfpmath=sse -fno-inline" } */
      11  
      12  static float xs (void)
      13  {
      14    return 3.14159265;
      15  }
      16  
      17  float ys (float a)
      18  {
      19    return xs () * a;
      20  }
      21  
      22  static double xd (void)
      23  {
      24    return 3.1415926535;
      25  }
      26  
      27  double yd (double a)
      28  {
      29    return xd () * a;
      30  }
      31