]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386.c (ix86_init_builtins): Calculate FLOAT128_FTYPE_CONST_STRING function type...
authorUros Bizjak <ubizjak@gmail.com>
Sun, 12 Jun 2016 19:38:42 +0000 (21:38 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Sun, 12 Jun 2016 19:38:42 +0000 (21:38 +0200)
* config/i386/i386.c (ix86_init_builtins): Calculate
FLOAT128_FTYPE_CONST_STRING function type only once.
* doc/extend.texi (x86 Built-in Functions): Update text, __float128
built-in functions are available for x86-32 and x86-64 targets.

From-SVN: r237342

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/doc/extend.texi

index 0a48316e0f9546877325c4f819d5ade238a52e2d..c2f2a0b88ea8c0087bca850dd4ae714788679dcf 100644 (file)
@@ -1,3 +1,10 @@
+2016-06-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_init_builtins): Calculate
+       FLOAT128_FTYPE_CONST_STRING function type only once.
+       * doc/extend.texi (x86 Built-in Functions): Update text, __float128
+       built-in functions are available for x86-32 and x86-64 targets.
+
 2016-06-12  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/71241
index dd47305c5b0cc2be0bf111e8a84a0c689e03b3a4..c5e5e1238a53674d9184d3c5c816ab418af34dda 100644 (file)
@@ -38260,7 +38260,7 @@ ix86_init_builtin_types (void)
 static void
 ix86_init_builtins (void)
 {
-  tree t;
+  tree ftype, decl;
 
   ix86_init_builtin_types ();
 
@@ -38273,31 +38273,31 @@ ix86_init_builtins (void)
   def_builtin_const (0, "__builtin_huge_valq",
                     FLOAT128_FTYPE_VOID, IX86_BUILTIN_HUGE_VALQ);
 
-  t = ix86_get_builtin_func_type (FLOAT128_FTYPE_CONST_STRING);
-  t = add_builtin_function ("__builtin_nanq", t, IX86_BUILTIN_NANQ,
-                           BUILT_IN_MD, "nanq", NULL_TREE);
-  TREE_READONLY (t) = 1;
-  ix86_builtins[(int) IX86_BUILTIN_NANQ] = t;
+  ftype = ix86_get_builtin_func_type (FLOAT128_FTYPE_CONST_STRING);
+  decl = add_builtin_function ("__builtin_nanq", ftype, IX86_BUILTIN_NANQ,
+                              BUILT_IN_MD, "nanq", NULL_TREE);
+  TREE_READONLY (decl) = 1;
+  ix86_builtins[(int) IX86_BUILTIN_NANQ] = decl;
 
-  t = ix86_get_builtin_func_type (FLOAT128_FTYPE_CONST_STRING);
-  t = add_builtin_function ("__builtin_nansq", t, IX86_BUILTIN_NANSQ,
-                           BUILT_IN_MD, "nansq", NULL_TREE);
-  TREE_READONLY (t) = 1;
-  ix86_builtins[(int) IX86_BUILTIN_NANSQ] = t;  
+  decl = add_builtin_function ("__builtin_nansq", ftype, IX86_BUILTIN_NANSQ,
+                              BUILT_IN_MD, "nansq", NULL_TREE);
+  TREE_READONLY (decl) = 1;
+  ix86_builtins[(int) IX86_BUILTIN_NANSQ] = decl;
 
   /* We will expand them to normal call if SSE isn't available since
      they are used by libgcc. */
-  t = ix86_get_builtin_func_type (FLOAT128_FTYPE_FLOAT128);
-  t = add_builtin_function ("__builtin_fabsq", t, IX86_BUILTIN_FABSQ,
-                           BUILT_IN_MD, "__fabstf2", NULL_TREE);
-  TREE_READONLY (t) = 1;
-  ix86_builtins[(int) IX86_BUILTIN_FABSQ] = t;
-
-  t = ix86_get_builtin_func_type (FLOAT128_FTYPE_FLOAT128_FLOAT128);
-  t = add_builtin_function ("__builtin_copysignq", t, IX86_BUILTIN_COPYSIGNQ,
-                           BUILT_IN_MD, "__copysigntf3", NULL_TREE);
-  TREE_READONLY (t) = 1;
-  ix86_builtins[(int) IX86_BUILTIN_COPYSIGNQ] = t;
+  ftype = ix86_get_builtin_func_type (FLOAT128_FTYPE_FLOAT128);
+  decl = add_builtin_function ("__builtin_fabsq", ftype, IX86_BUILTIN_FABSQ,
+                              BUILT_IN_MD, "__fabstf2", NULL_TREE);
+  TREE_READONLY (decl) = 1;
+  ix86_builtins[(int) IX86_BUILTIN_FABSQ] = decl;
+
+  ftype = ix86_get_builtin_func_type (FLOAT128_FTYPE_FLOAT128_FLOAT128);
+  decl = add_builtin_function ("__builtin_copysignq", ftype,
+                              IX86_BUILTIN_COPYSIGNQ, BUILT_IN_MD,
+                              "__copysigntf3", NULL_TREE);
+  TREE_READONLY (decl) = 1;
+  ix86_builtins[(int) IX86_BUILTIN_COPYSIGNQ] = decl;
 
   ix86_init_tm_builtins ();
   ix86_init_mmx_sse_builtins ();
index 96b4f04234b4e6308af259c37808a491a62f5a7e..a0633543602148a313b6f33e9202358966397cef 100644 (file)
@@ -18445,28 +18445,19 @@ integers, these use @code{V4SI}.  Finally, some instructions operate on an
 entire vector register, interpreting it as a 128-bit integer, these use mode
 @code{TI}.
 
-In 64-bit mode, the x86-64 family of processors uses additional built-in
+The x86-32 and x86-64 family of processors use additional built-in
 functions for efficient use of @code{TF} (@code{__float128}) 128-bit
 floating point and @code{TC} 128-bit complex floating-point values.
 
-The following floating-point built-in functions are available in 64-bit
-mode.  All of them implement the function that is part of the name.
+The following floating-point built-in functions are always available.  All
+of them implement the function that is part of the name.
 
 @smallexample
 __float128 __builtin_fabsq (__float128)
 __float128 __builtin_copysignq (__float128, __float128)
 @end smallexample
 
-The following built-in function is always available.
-
-@table @code
-@item void __builtin_ia32_pause (void)
-Generates the @code{pause} machine instruction with a compiler memory
-barrier.
-@end table
-
-The following floating-point built-in functions are made available in the
-64-bit mode.
+The following built-in functions are always available.
 
 @table @code
 @item __float128 __builtin_infq (void)
@@ -18486,6 +18477,14 @@ Similar to @code{__builtin_nans}, except the return type is @code{__float128}.
 @findex __builtin_nansq
 @end table
 
+The following built-in function is always available.
+
+@table @code
+@item void __builtin_ia32_pause (void)
+Generates the @code{pause} machine instruction with a compiler memory
+barrier.
+@end table
+
 The following built-in functions are always available and can be used to
 check the target platform type.