------- Additional Comments From fjahanian at apple dot com 2004-12-01 22:07
-------
Regardless of how we fix this specific problem; by reverting Ulrich's patch to
find_reloads_address,
making the small change he proposed in find_reloads, or something else, there
remains the
problem each time a 64-bit integer constant is loaded into an FPR. This is a
cronic problem which
we need to address. Now is as good as ever. Being a newby in this area please
bear with me.
I see a couple of solutions:
1) Do not use FPR for a 64-bit constant integers. This is indeed what happens
when reverting Ulrich's
patch. What benefit do we gain by allowing use of FPR for these cases?
Don't we always need to
eventually load the constant into a pair of GPRs, via going to memory
first. What are the cases where
using FPR is beneficial (to reduce register pressure is one answer, but
then we still need to go
to memory and back to GPRs for any useful operation).
2) Handle this special case in the splitter which is used. But this requires
going to memory. Can this
be done in the splitter? This seems to be a better solution if 1) cannot be
disallowed.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18641