1/* { dg-do compile } */ 2/* { dg-options "-O2 -msse" } */ 3/* { dg-require-effective-target ilp32 } */ 4/* { dg-require-effective-target sse } */ 5 6float essef(float) __attribute__((sseregparm)); 7double essed(double) __attribute__((sseregparm)); 8float __attribute__((sseregparm, noinline)) ssef(float f) { return f; } 9double __attribute__((sseregparm, noinline)) ssed(double d) { return d; } 10extern double d; 11extern float f; 12void test(void) 13{ 14 f = essef(f); 15 d = essed(d); 16 f = ssef(f); 17 d = ssed(d); 18} 19 20/* { dg-final { scan-assembler-not "fldl" } } */ 21