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