/* Verify that 387 fsincos instruction is generated. */ /* { dg-do compile } */ /* { dg-options "-O -funsafe-math-optimizations -mfpmath=387 -mfancy-math-387" } */ extern double sin (double); extern double cos (double); extern void sincos (double, double *, double *); double f1(double x) { double s, c; sincos (x, &s, &c); return s + c; } double f2(double x) { double s, c, tmp; sincos (x, &s, &tmp); c = cos (x); return s + c; } double f3(double x) { double s, c, tmp; sincos (x, &tmp, &c); s = sin (x); return s + c; } /* { dg-final { scan-assembler "fsincos" } } */ /* { dg-final { scan-assembler-not "fsin " } } */ /* { dg-final { scan-assembler-not "fcos" } } */ /* { dg-final { scan-assembler-not "call" } } */