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 
xs(void)12 static float xs (void)
13 {
14   return 3.14159265;
15 }
16 
ys(float a)17 float ys (float a)
18 {
19   return xs () * a;
20 }
21 
xd(void)22 static double xd (void)
23 {
24   return 3.1415926535;
25 }
26 
yd(double a)27 double yd (double a)
28 {
29   return xd () * a;
30 }
31 
32