1 /* Verify that 387 fsincos instruction is generated.  */
2 /* { dg-do compile } */
3 /* { dg-options "-O -funsafe-math-optimizations -mfpmath=387 -mfancy-math-387" } */
4 
5 extern double sin (double);
6 extern double cos (double);
7 extern void sincos (double, double *, double *);
8 
f1(double x)9 double f1(double x)
10 {
11   double s, c;
12   sincos (x, &s, &c);
13   return s + c;
14 }
15 
f2(double x)16 double f2(double x)
17 {
18   double s, c, tmp;
19   sincos (x, &s, &tmp);
20   c = cos (x);
21   return s + c;
22 }
23 
f3(double x)24 double f3(double x)
25 {
26   double s, c, tmp;
27   sincos (x, &tmp, &c);
28   s = sin (x);
29   return s + c;
30 }
31 
32 /* { dg-final { scan-assembler "fsincos" } } */
33 /* { dg-final { scan-assembler-not "fsin " } } */
34 /* { dg-final { scan-assembler-not "fcos" } } */
35 /* { dg-final { scan-assembler-not "call" } } */
36