"Kewen.Lin" <li...@linux.ibm.com> writes: > Hi, > > The fix for PR112993 will make KFmode have 128 bit mode precision, > we don't need this workaround to fix up the type precision any > more, and just go with the mode precision. So this patch is to > remove KFmode workaround. > > Bootstrapped and regtested on x86_64-redhat-linux, > powerpc64{,le}-linux-gnu (ibm128 long double default) > and powerpc64le-linux-gnu (ieee128 long double default). > > Is it OK for trunk if {1,2}/3 in this series get landed?
Yes. Thanks for doing this! Richard > BR, > Kewen > ----- > > PR target/112993 > > gcc/ChangeLog: > > * tree.cc (build_common_tree_nodes): Drop the workaround for rs6000 > KFmode precision adjustment. > --- > gcc/tree.cc | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/gcc/tree.cc b/gcc/tree.cc > index f801712c9dd..f730981ec8b 100644 > --- a/gcc/tree.cc > +++ b/gcc/tree.cc > @@ -9575,15 +9575,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)); > -- > 2.39.1