Merge from mainline
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / sselibm-4.c
blobad20bce0b349665233e4d11d26e9d7626642daf0
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -msse2 -mfpmath=sse -msselibm" } */
3 /* { dg-require-effective-target ilp32 } */
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);
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);
27 float foof(float x)
29 return acosf(x) + asinf(x) + atanf(x) + atan2f(x, x) + cosf(x) + expf(x)
30 + log10f(x) + logf(x) + sinf(x) + tanf(x);
33 double foo(double x)
35 return acos(x) + asin(x) + atan(x) + atan2(x, x) + cos(x) + exp(x)
36 + log10(x) + log(x) + sin(x) + tan(x);
39 /* { dg-final { scan-assembler-times "__libm_sse2" 20 } } */