This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gcc-2.95.2 problem with target powerpc-eabi


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]