annotate gcc/testsuite/gcc.dg/sinatan-3.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* { dg-do compile } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 /* { dg-options "-Ofast -fdump-tree-optimized" } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 extern float sinf (float);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 extern float cosf (float);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 extern float atanf (float);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 extern double sin (double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 extern double cos (double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 extern double atan (double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 extern long double sinl (long double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 extern long double cosl (long double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 extern long double atanl (long double);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 float __attribute__ ((noinline))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 cosatanf_(float x)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 float atg = atanf(x);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 return cosf(atg) + atg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 double __attribute__ ((noinline))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 cosatan_(double x)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 double atg = atan(x);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 return cos(atg) + atg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 long double __attribute__ ((noinline))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 cosatanl_(long double x)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 long double atg = atanl(x);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 return cosl(atg) + atg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 float __attribute__ ((noinline))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 sinatanf_(float x)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 float atg = atanf(x);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 return sinf(atg) + atg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 double __attribute__ ((noinline))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43 sinatan_(double x)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45 double atg = atan(x);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 return sin(atg) + atg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 long double __attribute__ ((noinline))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50 sinatanl_(long double x)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52 long double atg = atanl(x);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53 return sinl(atg) + atg;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56 /* There should be calls to both sin and atan */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 /* { dg-final { scan-tree-dump "cos " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58 /* { dg-final { scan-tree-dump "sin " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59 /* { dg-final { scan-tree-dump "atan " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 /* { dg-final { scan-tree-dump "cosf " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61 /* { dg-final { scan-tree-dump "sinf " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62 /* { dg-final { scan-tree-dump "atanf " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63 /* { dg-final { scan-tree-dump "cosl " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64 /* { dg-final { scan-tree-dump "sinl " "optimized" } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
65 /* { dg-final { scan-tree-dump "atanl " "optimized" } } */