On Mon, Apr 16, 2018 at 03:22:16PM -0400, Michael Meissner wrote: > Here is the PR 85075 patch without the rs6000.md bits:
This fails on powerpc64-linux bootstrap (w/ --with-cpu=power7 if that matters): /home/segher/src/gcc/libgcc/config/rs6000/ibm-ldouble.c: In function '__gcc_qadd ': /home/segher/src/gcc/libgcc/config/rs6000/ibm-ldouble.c:157:1: error: insn does not satisfy its constraints: } ^ (insn 144 197 198 15 (set (reg:TF 32 0 [orig:143 _47 ] [143]) (unspec:TF [ (reg:DF 33 1 [orig:143 _47+8 ] [143]) (reg/v:DF 36 4 [orig:139 xl ] [139]) ] UNSPEC_PACK_128BIT)) "/home/segher/src/gcc/libgcc/config/rs6000/ib m-ldouble.c":106 1003 {packtf} (nil)) during RTL pass: reload Segher > PR target/85075 > * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): __ibm128 is > now a separate type, don't #define __ibm128 as long double. > * config/rs6000/rs6000.c (rs6000_init_builtins): Make __ibm128 a > separate type on systems that support IEEE 128-bit floating point. > (rs6000_mangle_type): Use separate manglings for __ibm128 and > __float128. Change __float128 mangling from U10__float128 to > u10__float128. Issue a warning that the mangling has changed in > GCC 8.