gcc-2.95.2 problem with target powerpc-eabi

Christoph Hirzel hirzel@indel.ch
Fri Oct 27 04:15:00 GMT 2000


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




More information about the Gcc-bugs mailing list