PPC64 Compiler bug !!

Steve Munroe sjmunroe at us.ibm.com
Fri Jun 13 04:39:59 EST 2003


linas writes:

> See line 26, 27 above: lfd, stfd !!!?? The first 6-bits of 0xc8, 0xd8
are
> primary opcodes 50 and 54, load and store floating point double.
>
> Surely when I wake up, it will be clear that this was a dream ??

No this is not a dream but a "feature" of gcc. Unless you explicitly tell
it not to use hardware floating point (-msoft-flost) gcc may use fprs as
extra volatile registers for 8-byte move/copies. This seems to be left
over from ppc32 there is may have been a good idea (lfd/stfd replaces
lwz/lwz/stw/stw). But on PPC64 this is dumb unless you are actually doing
floating point.

Send you cards and letters to our friend Alan Modra on this topic.

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list