Hi Segher, on 2022/12/22 05:24, Segher Boessenkool wrote: > Hi! > > On Wed, Dec 21, 2022 at 05:02:17PM +0800, Kewen.Lin wrote: >> This a different attempt from Mike's approach[1][2] to fix the >> issue in PR107299. > > Ke Wen, Mike: so iiuc with this patch applied all three of Mike's > patches are unnecessary?
I think the 1st patch is still needed, it's to fix a latent issue as the associated test cases {mul,div}ic3-1.c show. > Does it fix the new testcases in Mike's series as well? Yeah, it doesn't suffer the issue exposed by float128-hw4.c, so it doesn't need that adjustment on float128-hw4.c. It can also make newly added float128-hw{12,13}.c pass. >> As above, I wonder if we can consider this approach which >> makes type _Float128 have the same precision as MODE_PRECISION >> of its mode, it keeps the previous implementation to make type >> long double compatible with _Float128. Since the REAL_MODE_FORMAT >> of the mode still holds the information, even if some place which >> isn't covered in the above testing need the actual precision, we >> can still retrieve the actual precision with that. > > "Precision" does not have a useful meaning for all floating point > formats. It does not have one for double-double for example. The way > precision is defined in IEEE FP means double-double has 2048 bits of > precision (or is it 2047), not useful. Taking the precision of the > format instead to be the minimum over all values in that format gives > double-double the same precision as IEEE DP, not useful in any practical > way either :-/ OK, I think that's why we don't see any regressions with this work around removal, :) > >> --- a/gcc/tree.cc >> +++ b/gcc/tree.cc >> @@ -9442,15 +9442,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. */ > > It has precision 126 now fwiw. Yes, with -mabi=ibmlongdouble, it uses KFmode so 126, while with -mabi=ieeelongdouble, it uses TFmode so 127. BR, Kewen