[Bug target/83387] PowerPC64 + Ada + RTEMS: Infinite loops in do_reload()

2017-12-12 Thread sebastian.hu...@embedded-brains.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387

--- Comment #6 from Sebastian Huber  ---
(In reply to Peter Bergner from comment #5)
> (In reply to Sebastian Huber from comment #4)
> > If I remove the -msoft-float, the two example source files compile
> > (-mno-altivec seems to cause no harm).
> 
> Well the first question, is do you really need to use -msoft-float?  Looking
> at the E6500 hardware doc seems to show that it has both hardware FP and
> Altivec units.

For some applications fast context switches are important and the FP/AltiVec
context is quite huge. It affects also the interrupt latency. I have to discuss
this with the application developers. We probably don't need it in a 64-bit
configuration.

> 
> 
> > How can I dump the instruction? I don't know Ada well enough to figure it
> > out from the source code.
> 
> I don't know Ada as well, but I mean what does the RTL insn look like? 
> You'll probably  need a debug build of your gcc for that so it isn't
> optimized away and then you can print it from gdb.

Ok, I will try to do this. I am not sure how it works with the cross compiler
build:

https://gcc.gnu.org/wiki/DebuggingGCC#gccbuilddebug

[Bug target/83387] PowerPC64 + Ada + RTEMS: Infinite loops in do_reload()

2017-12-12 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387

--- Comment #5 from Peter Bergner  ---
(In reply to Sebastian Huber from comment #4)
> If I remove the -msoft-float, the two example source files compile
> (-mno-altivec seems to cause no harm).

Well the first question, is do you really need to use -msoft-float?  Looking at
the E6500 hardware doc seems to show that it has both hardware FP and Altivec
units.


> How can I dump the instruction? I don't know Ada well enough to figure it
> out from the source code.

I don't know Ada as well, but I mean what does the RTL insn look like?  You'll
probably  need a debug build of your gcc for that so it isn't optimized away
and then you can print it from gdb.

[Bug target/83387] PowerPC64 + Ada + RTEMS: Infinite loops in do_reload()

2017-12-12 Thread sebastian.hu...@embedded-brains.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387

--- Comment #4 from Sebastian Huber  ---
(In reply to Peter Bergner from comment #3)
> (In reply to Sebastian Huber from comment #2)
> > Is -msoft-float supported on 64-bit PowerPC? It is not important for us. I
> > just copied the 32-bit multilibs without much thought.
> 
> It is used by the linux kernel, but they also explicitly do not use
> float/double types.  If you have float/double types in your source code and
> compile for 64-bit using -msoft-float, I could guess that you would run into
> some of the assumptions in the 64-bit backend that floating point hardware
> is always available.  It's just a guess though, without knowing what the
> insn / operand you're having problems with looks like.

If I remove the -msoft-float, the two example source files compile
(-mno-altivec seems to cause no harm).

How can I dump the instruction? I don't know Ada well enough to figure it out
from the source code.

[Bug target/83387] PowerPC64 + Ada + RTEMS: Infinite loops in do_reload()

2017-12-12 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387

--- Comment #3 from Peter Bergner  ---
(In reply to Sebastian Huber from comment #2)
> Is -msoft-float supported on 64-bit PowerPC? It is not important for us. I
> just copied the 32-bit multilibs without much thought.

It is used by the linux kernel, but they also explicitly do not use
float/double types.  If you have float/double types in your source code and
compile for 64-bit using -msoft-float, I could guess that you would run into
some of the assumptions in the 64-bit backend that floating point hardware is
always available.  It's just a guess though, without knowing what the insn /
operand you're having problems with looks like.

[Bug target/83387] PowerPC64 + Ada + RTEMS: Infinite loops in do_reload()

2017-12-12 Thread sebastian.hu...@embedded-brains.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387

--- Comment #2 from Sebastian Huber  ---
(In reply to Peter Bergner from comment #1)
> Is the insn you're dying with contain FP operands?  I know the backend for
> 64-bit PowerPC assumes/requires 64-bit FP hardware is available and since
> you're using -msoft-float, I can imagine that you're running afoul of that
> somehow.

Is -msoft-float supported on 64-bit PowerPC? It is not important for us. I just
copied the 32-bit multilibs without much thought.

> 
> FYI, I tried logging into gcc67 but couldn't for some reason.  I have no
> problems logging into other gcc farm systems.

My SSH config for gcc67 is:

Compression yes
Host gcc67
  User sh
  Hostname gcc67.fsffrance.org

[Bug target/83387] PowerPC64 + Ada + RTEMS: Infinite loops in do_reload()

2017-12-12 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387

Peter Bergner  changed:

   What|Removed |Added

 CC||bergner at gcc dot gnu.org

--- Comment #1 from Peter Bergner  ---
Is the insn you're dying with contain FP operands?  I know the backend for
64-bit PowerPC assumes/requires 64-bit FP hardware is available and since
you're using -msoft-float, I can imagine that you're running afoul of that
somehow.

FYI, I tried logging into gcc67 but couldn't for some reason.  I have no
problems logging into other gcc farm systems.