]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree: Remove KFmode workaround [PR112993]
authorKewen Lin <linkw@linux.ibm.com>
Wed, 17 Jul 2024 05:19:00 +0000 (00:19 -0500)
committerKewen Lin <linkw@gcc.gnu.org>
Wed, 17 Jul 2024 05:19:00 +0000 (00:19 -0500)
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.

gcc/tree.cc

index 2d2d5b6db6ed8e312859af136bbc5c74a8da8f7e..a2d431662bd5dc1124e37f2a3b7fe42d3a34d0d7 100644 (file)
@@ -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));