gcc/gcc/testsuite/gcc.dg/builtins-1.c
Roger Sayle 29f523bef0 builtins.def: Defome atan...
* 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
2003-05-23 20:45:40 +00:00

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); }