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.