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.

Reply via email to