diff options
author | Ben Elliston <bje@au.ibm.com> | 2009-03-28 23:21:02 +0000 |
---|---|---|
committer | Ben Elliston <bje@gcc.gnu.org> | 2009-03-29 10:21:02 +1100 |
commit | 593812b61c2caa717fa2b85082fe1864e645641c (patch) | |
tree | 29105ce7b63e38bf85f35dee085ace4c81c1821d /gcc | |
parent | 33abc8454687da28c851b1089b7540a3669c3548 (diff) | |
download | gcc-593812b61c2caa717fa2b85082fe1864e645641c.zip gcc-593812b61c2caa717fa2b85082fe1864e645641c.tar.gz gcc-593812b61c2caa717fa2b85082fe1864e645641c.tar.bz2 |
Approved in http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00733.html.
* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_HUGE_VALQ.
(ix86_init_builtins): Add built-in function __builtin_huge_valq.
(ix86_expand_builtin): Handle IX86_BUILTIN_HUGE_VALQ.
* doc/extend.texi (X86 Built-in Functions): Add index entries for
__builtin_infq and __builtin_huge_valq.
From-SVN: r145212
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 7 | ||||
-rw-r--r-- | gcc/doc/extend.texi | 5 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 434ddd7..ca76ef6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2009-03-29 Ben Elliston <bje@au.ibm.com> + + * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_HUGE_VALQ. + (ix86_init_builtins): Add built-in function __builtin_huge_valq. + (ix86_expand_builtin): Handle IX86_BUILTIN_HUGE_VALQ. + * doc/extend.texi (X86 Built-in Functions): Add index entries for + __builtin_infq and __builtin_huge_valq. + 2009-03-28 Anatoly Sokolov <aesok@post.ru> * config/avr/avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 5f36ec3..1cbb7953 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -20225,6 +20225,7 @@ enum ix86_builtins /* TFmode support builtins. */ IX86_BUILTIN_INFQ, + IX86_BUILTIN_HUGE_VALQ, IX86_BUILTIN_FABSQ, IX86_BUILTIN_COPYSIGNQ, @@ -23393,6 +23394,11 @@ ix86_init_builtins (void) NULL, NULL_TREE); ix86_builtins[(int) IX86_BUILTIN_INFQ] = decl; + decl = add_builtin_function ("__builtin_huge_valq", ftype, + IX86_BUILTIN_HUGE_VALQ, BUILT_IN_MD, + NULL, NULL_TREE); + ix86_builtins[(int) IX86_BUILTIN_HUGE_VALQ] = decl; + /* We will expand them to normal call if SSE2 isn't available since they are used by libgcc. */ ftype = build_function_type_list (float128_type_node, @@ -24848,6 +24854,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED, return ix86_expand_vec_set_builtin (exp); case IX86_BUILTIN_INFQ: + case IX86_BUILTIN_HUGE_VALQ: { REAL_VALUE_TYPE inf; rtx tmp; diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index ad17a37..0e9d739 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -7780,6 +7780,11 @@ The following floating point built-in functions are made available in the @table @code @item __float128 __builtin_infq (void) Similar to @code{__builtin_inf}, except the return type is @code{__float128}. +@findex __builtin_infq + +@item __float128 __builtin_huge_valq (void) +Similar to @code{__builtin_huge_val}, except the return type is @code{__float128}. +@findex __builtin_huge_valq @end table The following built-in functions are made available by @option{-mmmx}. |