diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-03 23:21:31 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-03 23:21:31 +0000 |
commit | 42721db07c36e472f5eb5f9f356e55be2fb61f38 (patch) | |
tree | 43f230abfa5b65f3cb384df85d588543c32be03e /gcc/doc/extend.texi | |
parent | e7971c005e1ef3c054f3e10f96642bca896411bf (diff) | |
download | gcc-42721db07c36e472f5eb5f9f356e55be2fb61f38.tar.gz |
* builtins.def: Define new builtin functions exp, expf, expl,
log, logf and logl (and their __builtin_* variants).
* optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
Define exp_optab and log_optab.
* optabs.c (init_optans): Initialize exp_optab and log_optab.
* genopinit.c (optabs): Implement exp_optab and log_optab
using exp?f2 and log?f2 patterns.
* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
and BUILT_IN_LOG* using exp_optab and log_optab respectively.
(expand_builtin): Ignore the new builtins (and all cos and
sin variants) when not optimizing. Expand new builtins via
expand_builtin_mathfn when flag_unsafe_math_optimizations.
* doc/extend.texi: Document new exp and log builtins.
* doc/md.texi: Document new exp?f2 and log?f2 patterns
(and previously undocumented cos?f2 and sin?f2 patterns).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56010 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/extend.texi')
-rw-r--r-- | gcc/doc/extend.texi | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 70afc3b8ffa..4814b35e69f 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -4500,6 +4500,9 @@ v4si f (v4si a, v4si b, v4si c) @findex exit @findex _exit @findex _Exit +@findex exp +@findex expf +@findex expl @findex fabs @findex fabsf @findex fabsl @@ -4512,6 +4515,9 @@ v4si f (v4si a, v4si b, v4si c) @findex index @findex labs @findex llabs +@findex log +@findex logf +@findex logl @findex memcmp @findex memcpy @findex memset @@ -4577,13 +4583,15 @@ The ISO C99 functions @code{conj}, @code{conjf}, @code{conjl}, @code{cimagl}, @code{llabs} and @code{imaxabs} are handled as built-in functions except in strict ISO C90 mode. There are also built-in versions of the ISO C99 functions @code{cosf}, @code{cosl}, -@code{fabsf}, @code{fabsl}, @code{sinf}, @code{sinl}, @code{sqrtf}, and +@code{expf}, @code{expl}, @code{fabsf}, @code{fabsl}, +@code{logf}, @code{logl}, @code{sinf}, @code{sinl}, @code{sqrtf}, and @code{sqrtl}, that are recognized in any mode since ISO C90 reserves these names for the purpose to which ISO C99 puts them. All these functions have corresponding versions prefixed with @code{__builtin_}. -The ISO C90 functions @code{abs}, @code{cos}, @code{fabs}, -@code{fprintf}, @code{fputs}, @code{labs}, @code{memcmp}, @code{memcpy}, +The ISO C90 functions @code{abs}, @code{cos}, @code{exp}, @code{fabs}, +@code{fprintf}, @code{fputs}, @code{labs}, @code{log}, +@code{memcmp}, @code{memcpy}, @code{memset}, @code{printf}, @code{sin}, @code{sqrt}, @code{strcat}, @code{strchr}, @code{strcmp}, @code{strcpy}, @code{strcspn}, @code{strlen}, @code{strncat}, @code{strncmp}, @code{strncpy}, |