This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PR target/85358, v3: Make PowerPC not convert __ibm128 to __float128 if long double is IEEE 128-bit


On Mon, Jun 11, 2018 at 07:31:44PM -0400, Michael Meissner wrote:
> This patch is a complete rework of the previous patch.  Previously I used new
> target hooks to provide IFmode (__ibm128) from being widened by default to
> TFmode (long double) on power9 systems when long double is IEEE 128-bit.
> 
> This patch reorganizes the 3 128-bit floating point types, so that IFmode is
> numerically higher than TFmode/KFmode.  This means IFmode is considered the
> widest type.  Since we do not define arithmetic insns for IFmode, other than
> negate/absolute value (that we define for the other types), we will not have
> undesirable widening.  I needed to change long double size so that lookup of
> size would get the TFmode type and not the IFmode.
> 
> Since I reorganized the modes, the compiler now uses truncif{kf,tf}2 instead of
> extend{tf,kf}if2.  It turns out I had the argument modes backwards for trunc.
> I have included a fix for this thinko.
> 
> I have built this on the following systems, and they bootstrapped and had no
> regressions.  Can I check this into the trunk, and after a burn-in period check
> it into GCC 8.2, assuming the last build on power6 has no regressions?
> 
>     1)	Little endian power8 system (64-bit), --with-cpu=power8;
>     2)	Big endian power8 system (64/32-bit), --with-cpu=power8;
>     3)	Big endian power8 system (64/32-bit), no --with-cpu;
> 
> I'm currently building it on:
> 
>     4)	Big endian power6 system (64/32-bit), no --with-cpu.

Whoops, I forgot I also did the following and it had no regressions:

      5)	Little endian power9 system (64-bit), --with-cpu=power9

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.ibm.com, phone: +1 (978) 899-4797


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]