Hi! On Thu, Nov 19, 2020 at 06:58:14PM -0500, Michael Meissner wrote: > * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Add > support for mapping built-in function names for long double > built-in functions if long double is IEEE 128-bit.
Please write what it does, not "add support". Say what names it maps to, importantly. You don't need to list all, but what you wrote is 100% contentless. > diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c > index a5188553593..35e9c844e17 100644 > --- a/gcc/config/rs6000/rs6000.c > +++ b/gcc/config/rs6000/rs6000.c > @@ -27065,57 +27065,128 @@ rs6000_globalize_decl_name (FILE * stream, tree > decl) > library before you can switch the real*16 type at compile time. > > We use the TARGET_MANGLE_DECL_ASSEMBLER_NAME hook to change this name. We > - only do this if the default is that long double is IBM extended double, > and > - the user asked for IEEE 128-bit. */ > + only do this transformation if the __float128 type is enabled. This > + prevents us from doing the transformation on older 32-bit ports that might > + have enabled using IEEE 128-bit floating point as the default long double > + type. */ I still don't understand why you want to support some hypothetical and untested configuration. > + /* { dg-final { scan-assembler {\mbl __ynieee128} } } */ This kind of thing does not portably work (the function names can have various prefixes added). I cannot understand this code, and it does seem far from obviously correct. But, okay for trunk if you handle all fallout (and I mean all, not just "all you consider important"). Segher