aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKewen Lin <linkw@linux.ibm.com>2024-07-17 00:19:00 -0500
committerKewen Lin <linkw@gcc.gnu.org>2024-07-17 00:19:00 -0500
commitb5c813ed6035cf6ef831927e66e184a5847afbe6 (patch)
tree955fbbf8ac5d6dce764ccd6d8a6ac4ab1e665536 /gcc
parentfa86f510f51e6d940a28ea997fca3a6e3f50b4d3 (diff)
downloadgcc-b5c813ed6035cf6ef831927e66e184a5847afbe6.zip
gcc-b5c813ed6035cf6ef831927e66e184a5847afbe6.tar.gz
gcc-b5c813ed6035cf6ef831927e66e184a5847afbe6.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree.cc9
1 files changed, 0 insertions, 9 deletions
diff --git a/gcc/tree.cc b/gcc/tree.cc
index 2d2d5b6..a2d4316 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));