From: Ben Elliston Date: Sat, 28 Mar 2009 23:21:02 +0000 (+0000) Subject: Approved in http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00733.html. X-Git-Tag: releases/gcc-4.5.0~7072 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=593812b61c2caa717fa2b85082fe1864e645641c;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 434ddd79839b..ca76ef6025a8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2009-03-29 Ben Elliston + + * 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 * 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 5f36ec3b7944..1cbb79534040 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 ad17a378d985..0e9d739ccbcc 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}.