1/* Execution test for argument passing with SSE and local functions 2 Written by Paolo Bonzini, 25 January 2005 */ 3 4/* { dg-do run } */ 5/* { dg-options "-O2 -msse -mfpmath=sse" } */ 6/* { dg-require-effective-target sse } */ 7 8#include "sse-check.h" 9 10#include <assert.h> 11 12static float xs (void) 13{ 14 return 3.14159265; 15} 16 17float ys (float a) 18{ 19 return xs () * a; 20} 21 22static double xd (void) 23{ 24 return 3.1415926535; 25} 26 27double yd (double a) 28{ 29 return xd () * a; 30} 31 32static void 33sse_test (void) 34{ 35 assert (ys (1) == xs ()); 36 assert (ys (2) == xs () * 2); 37 assert (yd (1) == xd ()); 38 assert (yd (2) == xd () * 2); 39} 40