https://gcc.gnu.org/g:b5c813ed6035cf6ef831927e66e184a5847afbe6

commit r15-2087-gb5c813ed6035cf6ef831927e66e184a5847afbe6
Author: Kewen Lin <li...@linux.ibm.com>
Date:   Wed Jul 17 00:19:00 2024 -0500

    tree: Remove KFmode workaround [PR112993]
    
    The fix for PR112993 makes KFmode have 128 bit mode precision,
    we don't need this workaround to fix up the type precision any
    more, and just go with mode precision.  So this patch is to
    remove KFmode workaround.
    
            PR target/112993
    
    gcc/ChangeLog:
    
            * tree.cc (build_common_tree_nodes): Drop the workaround for rs6000
            KFmode precision adjustment.

Diff:
---
 gcc/tree.cc | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/gcc/tree.cc b/gcc/tree.cc
index 2d2d5b6db6ed..a2d431662bd5 100644
--- a/gcc/tree.cc
+++ b/gcc/tree.cc
@@ -9633,15 +9633,6 @@ build_common_tree_nodes (bool signed_char)
       if (!targetm.floatn_mode (n, extended).exists (&mode))
        continue;
       int precision = GET_MODE_PRECISION (mode);
-      /* Work around the rs6000 KFmode having precision 113 not
-        128.  */
-      const struct real_format *fmt = REAL_MODE_FORMAT (mode);
-      gcc_assert (fmt->b == 2 && fmt->emin + fmt->emax == 3);
-      int min_precision = fmt->p + ceil_log2 (fmt->emax - fmt->emin);
-      if (!extended)
-       gcc_assert (min_precision == n);
-      if (precision < min_precision)
-       precision = min_precision;
       FLOATN_NX_TYPE_NODE (i) = make_node (REAL_TYPE);
       TYPE_PRECISION (FLOATN_NX_TYPE_NODE (i)) = precision;
       layout_type (FLOATN_NX_TYPE_NODE (i));

Reply via email to