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