On Mon, Jan 03, 2022 at 04:24:50PM +0100, Jakub Jelinek wrote:
> Hi!
> 
> Testing found that we also need libquadmath to be built with
> -mno-gnu-attribute, otherwise -mabi=ieeelongdouble programs don't link.
> 
> Ok for power-ieee128?
> 
> 2022-01-03  Jakub Jelinek  <ja...@redhat.com>
> 
>       * configure.ac: Set XCFLAGS to -mno-gnu-attribute on
>       powerpc64le*-linux*.
>       * configure: Regenerated.

I'm wondering whether we want to change things so that Fortran never uses long
double on PowerPC, but instead it explicitly uses __float128 and __ibm128.  But
this breaks down in using printf/scanf, which don't have format options for
those types.

Unfortunately this won't work with the current code, since passing any of the
128-bit floating point types causes the flag 'rs6000_passes_long_double' to be
set (and then the gnu attribute #4 is set).  In theory, that should be set only
if an explicit long double type is used.  But the problem is when those things
are set, you tend to only have modes and not types.

To do it 'right', you probably need a GIMPLE pass that looks at the actual
types used, not the modes.

-- 
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: meiss...@linux.ibm.com

Reply via email to