Subject: Re: I want to rid ugly float load/stores used only for data movement
To: M L Riechers <email@example.com>
From: David Edelsohn <firstname.lastname@example.org>
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.