diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-02-07 22:37:57 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-02-07 22:37:57 +0000 |
commit | 46847aa6e79a40d2d569c726a50dc920e6ef2d81 (patch) | |
tree | 5831f8d64256959cde2af68fd1808297950ca51d /gcc/builtins.c | |
parent | c48d6750f4d60f288eae97b09dc7e4e4a025b3d9 (diff) | |
download | gcc-46847aa6e79a40d2d569c726a50dc920e6ef2d81.zip gcc-46847aa6e79a40d2d569c726a50dc920e6ef2d81.tar.gz gcc-46847aa6e79a40d2d569c726a50dc920e6ef2d81.tar.bz2 |
builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
* builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
(BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
(BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
* builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
builtin functions (and their __builtin_* variants).
* builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
(expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
when not optimizing.
* doc/extend.texi: Document new pow and atan2 builtins, and
their float and long double variants. Realphabetize builtins.
* testsuite/gcc.dg/builtins-4.c: New test case.
From-SVN: r62551
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 47d93e2..e2ad1e8 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -1507,6 +1507,11 @@ mathfn_built_in (type, fn) case BUILT_IN_EXPL: fcode = BUILT_IN_EXP; break; + case BUILT_IN_LOG: + case BUILT_IN_LOGF: + case BUILT_IN_LOGL: + fcode = BUILT_IN_LOG; + break; case BUILT_IN_FLOOR: case BUILT_IN_FLOORF: case BUILT_IN_FLOORL: @@ -1558,6 +1563,11 @@ mathfn_built_in (type, fn) case BUILT_IN_EXPL: fcode = BUILT_IN_EXPF; break; + case BUILT_IN_LOG: + case BUILT_IN_LOGF: + case BUILT_IN_LOGL: + fcode = BUILT_IN_LOGF; + break; case BUILT_IN_FLOOR: case BUILT_IN_FLOORF: case BUILT_IN_FLOORL: @@ -1609,6 +1619,11 @@ mathfn_built_in (type, fn) case BUILT_IN_EXPL: fcode = BUILT_IN_EXPL; break; + case BUILT_IN_LOG: + case BUILT_IN_LOGF: + case BUILT_IN_LOGL: + fcode = BUILT_IN_LOGL; + break; case BUILT_IN_FLOOR: case BUILT_IN_FLOORF: case BUILT_IN_FLOORL: @@ -3905,6 +3920,15 @@ expand_builtin (exp, target, subtarget, mode, ignore) case BUILT_IN_EXP: case BUILT_IN_EXPF: case BUILT_IN_EXPL: + case BUILT_IN_LOG: + case BUILT_IN_LOGF: + case BUILT_IN_LOGL: + case BUILT_IN_POW: + case BUILT_IN_POWF: + case BUILT_IN_POWL: + case BUILT_IN_ATAN2: + case BUILT_IN_ATAN2F: + case BUILT_IN_ATAN2L: case BUILT_IN_MEMSET: case BUILT_IN_MEMCPY: case BUILT_IN_MEMCMP: |