aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBen Elliston <bje@au.ibm.com>2009-03-28 23:21:02 +0000
committerBen Elliston <bje@gcc.gnu.org>2009-03-29 10:21:02 +1100
commit593812b61c2caa717fa2b85082fe1864e645641c (patch)
tree29105ce7b63e38bf85f35dee085ace4c81c1821d /gcc
parent33abc8454687da28c851b1089b7540a3669c3548 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/config/i386/i386.c7
-rw-r--r--gcc/doc/extend.texi5
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}.