This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Still bugs in Fortran -fno-emulate-complex
- To: craig at jcb-sc dot com
- Subject: Re: Still bugs in Fortran -fno-emulate-complex
- From: Zack Weinberg <zack at rabi dot columbia dot edu>
- Date: Mon, 12 Apr 1999 22:59:10 -0400
- cc: d dot love at dl dot ac dot uk, egcs-bugs at egcs dot cygnus dot com, toon at moene dot indiv dot nluug dot nl
On Mon, 12 Apr 1999 22:34:32 -0400, Zack Weinberg wrote:
>
>ICE? I don't get an ICE. I get one partial-overlap bug in the
>generated code when optimization is on, and it appears at first glance
>to be x86 specific - it's got the order of stack pushes and pops mixed
>up. But I Could Be Wrong. Give me another hour or so...
Well, I was wrong. The problem exists from the initial RTL, and looks
exactly like what you described with MODIFY_EXPR not understanding
overlap. We clobber the target while the overlapping part of the
source is still live, then copy mindlessly assuming no overlap.
However, there's another oddity: a DCmode copy is carried out with
pairs of DFmode move insns, and an SCmode copy with pairs of SFmode
move insns. I'm guessing this is because there's no such thing as a
complex-mode reg. But I wonder, for code like this, would it make
sense to invent one?
zw