This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc-2.95.2 problem with target powerpc-eabi
- To: <gcc-bugs at gcc dot gnu dot org>
- Subject: gcc-2.95.2 problem with target powerpc-eabi
- From: "Christoph Hirzel" <hirzel at indel dot ch>
- Date: Fri, 27 Oct 2000 13:16:33 +0200
- Reply-To: <hirzel at indel dot ch>
Hi
There seems to be a problem in copying 64 Bit integers
or structures with gcc-2.95.2 for target powerpc-eabi.
If I compile the following code for a PowerPC 603
(option -mcpu=603)
unsigned long long u1;
unsigned long long u2;
void Test()
{
u1 = u2;
}
the compiler generates the following assembler code
lis 11,u1@ha
la 9,u1@l(11)
lis 10,u2@ha
la 11,u2@l(10)
lfd 0,0(11)
stfd 0,0(9)
The compiler seems to optimize the copy by using load (lfd)
and store (stfd) double float instructions.
Now my question. How can I avoid this, without using the
compiler option -msoft-float ?
I think it should be possible if I make some adjustmenst
in the rs6000.md /.c /.h files and then rebuild the compiler.
Has anybody any experience in doing this ?
Thanks
Christoph Hirzel
Tuefiwies 26
CH-8332 Russikon
Switzerland