re PR tree-optimization/30038 (Call to sin(x), cos(x) should be transformed to sincos(x))
[gcc.git] / gcc / testsuite / gcc.dg / builtins-62.c
1 /* { dg-do compile } */
2 /* { dg-options "-O -ffinite-math-only -fdump-tree-optimized" } */
3
4 double test1 (double x)
5 {
6 double s, c;
7 s = __builtin_sin (x);
8 c = __builtin_cos (x);
9 return s + c;
10 }
11
12 double test2 (double x)
13 {
14 double s, c;
15 x = x * 2;
16 s = __builtin_sin (x);
17 c = __builtin_cos (x);
18 return s + c;
19 }
20
21 double test3 (double x, int b)
22 {
23 double s, c;
24 if (b)
25 x = x * 2;
26 s = __builtin_sin (x);
27 c = __builtin_cos (x);
28 return s + c;
29 }
30
31 double test4 (double x)
32 {
33 double s;
34 x = x * 2;
35 s = __builtin_sin (x);
36 return s;
37 }
38
39 /* { dg-final { scan-tree-dump-times "cexpi" 3 "optimized" } } */
40 /* { dg-final { cleanup-tree-dump "optimized" } } */