Merge from mainline
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / 387-9.c
blobf04faa54b014af046ba00c1c636bb2999c3eb52a
1 /* Verify that 387 fsincos instruction is generated. */
2 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
3 /* { dg-require-effective-target ilp32 } */
4 /* { dg-options "-O -funsafe-math-optimizations -march=i686" } */
6 extern double sin (double);
7 extern double cos (double);
8 extern void sincos (double, double *, double *);
10 double f1(double x)
12 double s, c;
13 sincos (x, &s, &c);
14 return s + c;
17 double f2(double x)
19 double s, c, tmp;
20 sincos (x, &s, &tmp);
21 c = cos (x);
22 return s + c;
25 double f3(double x)
27 double s, c, tmp;
28 sincos (x, &tmp, &c);
29 s = sin (x);
30 return s + c;
33 /* { dg-final { scan-assembler "fsincos" } } */
34 /* { dg-final { scan-assembler-not "fsin " } } */
35 /* { dg-final { scan-assembler-not "fcos" } } */
36 /* { dg-final { scan-assembler-not "call" } } */