Subject: Re: I want to rid ugly float load/stores used only for data movement
To: M L Riechers <>
From: David Edelsohn <>
List: port-powerpc
Date: 02/22/2003 18:09:13
>>>>> M L Riechers writes:

MLR> What I want to do is modify gcc to stop generating code like that, but
MLR> not shut down generating float instructions entirely, as in
MLR> "soft_float".  That is, to do exactly whatever "soft-float" does for
MLR> data movement, but not change anything else.  I couldn't find any
MLR> command line options to do just that. My intention is to use this
MLR> modified gcc to recompile all of NetBSD 1.6 userland for both the
MLR> mpc860 and our macppc 7500's, which are identical. (As an aside, I
MLR> sincerely doubt that that change will cause a performance hit for a G3
MLR> processor with more than one integer unit, and might even help
MLR> performance.  I'd like to look at that, but I don't have the time.) I
MLR> looked, but I'm intimidated.  I looked in the areas that would be
MLR> affected by "soft_float" and "cpu=mpc860".

MLR> Would anyone point me in the correct direction?

	Your intent cannot be implemented safely in GCC.  If GCC knows it
has FPRs and FPRs hold 64-bit values (which they must), it will use them
for 64-bit moves.  Cannot be avoided safely.