OSDN Git Service

ad20bce0b349665233e4d11d26e9d7626642daf0
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / sselibm-4.c
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -msse2 -mfpmath=sse -msselibm" } */
3 /* { dg-require-effective-target ilp32 } */
4
5 extern double acos(double);
6 extern double asin(double);
7 extern double atan(double);
8 extern double atan2(double, double);
9 extern double cos(double);
10 extern double exp(double);
11 extern double log10(double);
12 extern double log(double);
13 extern double sin(double);
14 extern double tan(double);
15
16 extern float acosf(float);
17 extern float asinf(float);
18 extern float atanf(float);
19 extern float atan2f(float, float);
20 extern float cosf(float);
21 extern float expf(float);
22 extern float log10f(float);
23 extern float logf(float);
24 extern float sinf(float);
25 extern float tanf(float);
26
27 float foof(float x)
28 {
29   return acosf(x) + asinf(x) + atanf(x) + atan2f(x, x) + cosf(x) + expf(x)
30         + log10f(x) + logf(x) + sinf(x) + tanf(x);
31 }
32
33 double foo(double x)
34 {
35   return acos(x) + asin(x) + atan(x) + atan2(x, x) + cos(x) + exp(x)
36         + log10(x) + log(x) + sin(x) + tan(x);
37 }
38
39 /* { dg-final { scan-assembler-times "__libm_sse2" 20 } } */