mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-06 09:06:17 +08:00
29f523bef0
* builtins.def: Defome atan, atanf, atanl, tan, tanf and tanl builtin functions (and their __builtin_* variants). * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}. (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not optimizing. * doc/extend.texi: Document new tan and atan builtins, and their float and long double variants. * gcc.dg/builtins-1.c: Add tests for tan and atan. * gcc.dg/builtins-4.c: Add test for fmod. From-SVN: r67137
35 lines
1.4 KiB
C
35 lines
1.4 KiB
C
/* Copyright (C) 2002 Free Software Foundation.
|
|
|
|
Verify that all the __builtin_ math functions are recognized
|
|
by the compiler.
|
|
|
|
Written by Roger Sayle, 11th July 2002. */
|
|
|
|
/* { dg-do compile } */
|
|
/* { dg-final { scan-assembler-not "__builtin_" } } */
|
|
|
|
double test1(double x) { return __builtin_sqrt(x); }
|
|
double test2(double x) { return __builtin_cos(x); }
|
|
double test3(double x) { return __builtin_sin(x); }
|
|
double test4(double x) { return __builtin_exp(x); }
|
|
double test5(double x) { return __builtin_log(x); }
|
|
double test6(double x) { return __builtin_tan(x); }
|
|
double test7(double x) { return __builtin_atan(x); }
|
|
|
|
float test1f(float x) { return __builtin_sqrtf(x); }
|
|
float test2f(float x) { return __builtin_cosf(x); }
|
|
float test3f(float x) { return __builtin_sinf(x); }
|
|
float test4f(float x) { return __builtin_expf(x); }
|
|
float test5f(float x) { return __builtin_logf(x); }
|
|
float test6f(float x) { return __builtin_tanf(x); }
|
|
float test7f(float x) { return __builtin_atanf(x); }
|
|
|
|
long double test1l(long double x) { return __builtin_sqrtl(x); }
|
|
long double test2l(long double x) { return __builtin_cosl(x); }
|
|
long double test3l(long double x) { return __builtin_sinl(x); }
|
|
long double test4l(long double x) { return __builtin_expl(x); }
|
|
long double test5l(long double x) { return __builtin_logl(x); }
|
|
long double test6l(long double x) { return __builtin_tanl(x); }
|
|
long double test7l(long double x) { return __builtin_atanl(x); }
|
|
|