On 30/01/17 11:38, Sebastian Huber wrote:
On 25/01/17 18:55, Segher Boessenkool wrote:
On Wed, Jan 25, 2017 at 01:11:49PM +0100, Sebastian Huber wrote:
>I still get a lot of ICEs with the attached two patches (examples):
>/home/EB/sebastian_h/archive/gcc-git/libgcc/libgcc2.c: In function
>'__multc3':
>/home/EB/sebastian_h/archive/gcc-git/libgcc/libgcc2.c:2035:1: error:
>unrecognizable insn:
> }
> ^
>(insn 59 58 60 2 (set (reg:CCFP 219)
> (compare:CCFP (reg/v:TF 193 [ x ])
> (reg/v:TF 193 [ x ])))
>"/home/EB/sebastian_h/archive/gcc-git/libgcc/libgcc2.c":1990 -1
> (nil))
>/home/EB/sebastian_h/archive/gcc-git/libgcc/libgcc2.c:2035:1: internal
>compiler error: in extract_insn, at recog.c:2311
The IEEE128 code almost certainly has some bugs on non-Linux
configurations.
You could try debugging it, or you could avoid it (for now) by e.g.
making
long double the same as double.
If I set rs6000_long_double_type_size to 64, then I can build all
libgcc multilibs including the one for -m64 -mcpu=e6500. I am a bit
surprised that the GCC support for 64-bit PowerPC is so extremely
Linux-dependent. I guess that I have to figure out all the magic
configuration bits to get everything set up like it is on Linux. It
would be nice if the working Linux configuration bits are the default.
With rs6000_long_double_type_size == 128, then I get the attached ICEs.
I would be glad to get some advice how I can debug them, since I have
no idea how the compiler works actually if it comes to code generation.
The compiler build shows these warnings:
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11023:1: warning:
source missing a mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11034:1: warning:
source missing a mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11034:1: warning:
source missing a mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11050:1: warning:
source missing a mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11050:1: warning:
source missing a mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11060:1: warning:
source missing a mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11060:1: warning:
source missing a mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/rs6000.md:11998:1: warning:
operand 1 missing mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/spe.md:3467:1:
warning: operand 1 missing mode?
/home/EB/sebastian_h/archive/gcc-git/gcc/config/rs6000/spe.md:3467:1:
warning: operand 2 missing mode?
Statistics for recog:
Number of decisions: 15193
longest path: 604 (code: 593)
longest backtrack: 43 (code: 1619)
Statistics for split_insns:
Number of decisions: 2991
longest path: 53 (code: 576)
longest backtrack: 18 (code: 574)
Statistics for peephole2_insns:
Number of decisions: 267
longest path: 47 (code: 7)
longest backtrack: 3 (code: 26)
Is this something to worry about?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.